C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WindowsXPPCでORA-00903が発生

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■94120 / inTopicNo.1)  WindowsXPPCでORA-00903が発生
  
□投稿者/ たろう (1回)-(2020/03/17(Tue) 21:27:23)

分類:[.NET 全般] 

お世話になります。
会社の簡単なツール構築のために今年からVBの勉強を始めたばかりの初心者です。
初めての質問となり足りないこともあるかとは存じますが、よろしくお願い致します。

32bit版Windows7PCを使用してVisualStudio2017(.NET Framework2.0)で開発しています。


Dim CnOra As OleDbConnection
Dim SQLOra As OleDbCommand = CnOra.CreateCommand
Dim AdaOra As New OleDbDataAdapter(SQLOra)
Dim TaOra As New DataTable
CnOra = New OleDbConnection("Provider=OraOLEDB.Oracle;user id =test;Password=test;data Source=test;")

SQLOra.CommandText = "SELECT 名前 FROM test.マスタ WHERE 会員番号 = 111"
AdaOra.Fill(TaOra)

ボタンクリック時に上記の内容を実行してみるとWindows7でOracle11gを使用しているPCでは結果が表示されるのですが、
WindowsXPでOracle9iを使用しているPCでは「ORA-00903:表名が無効です」と表示されてしまい、Oracleからの結果が表示されません。
なぜ結果が表示されないかご教授いただけますでしょうか。

引用返信 編集キー/
■94121 / inTopicNo.2)  Re[1]: WindowsXPPCでORA-00903が発生
□投稿者/ 魔界の仮面弁士 (2614回)-(2020/03/17(Tue) 22:07:21)
No94120 (たろう さん) に返信
> ボタンクリック時に上記の内容を実行してみるとWindows7でOracle11gを使用しているPCでは結果が表示されるのですが、
> WindowsXPでOracle9iを使用しているPCでは「ORA-00903:表名が無効です」と表示されてしまい、Oracleからの結果が表示されません。

tnsnames.ora が誤って他のサーバーインスタンスを指し示していませんか?
引用返信 編集キー/
■94122 / inTopicNo.3)  Re[1]: WindowsXPPCでORA-00903が発生
□投稿者/ KOZ (92回)-(2020/03/17(Tue) 22:35:00)
No94120 (たろう さん) に返信
> SQLOra.CommandText = "SELECT 名前 FROM test.マスタ WHERE 会員番号 = 111"

テーブル名や項目名は日本語ですか?

SQLOra.CommandText = "SELECT ""名前"" FROM ""test"".""マスタ"" WHERE ""会員番号"" = 111"

このようにテーブル名や項目名をダブルコーテーションで括ると動いたりしないでしょうか?
(接続先が正しいと仮定して)

> WindowsXPでOracle9iを使用しているPCでは「ORA-00903:表名が無効です」と表示されてしまい、Oracleからの結果が表示されません。

XP に .NET Framework 4.0.3 を入れて ODP.NET の管理対象ドライバを使ったほうがよさそうな気がします。

「Windows XP と Windows Server 2003 に .NET Framework をインストールする」
https://docs.microsoft.com/ja-jp/dotnet/framework/install/on-windows-xp

「NuGet Gallery|Oracle.ManagedDataAccess 19.6.0」
https://www.nuget.org/packages/Oracle.ManagedDataAccess/19.6.0

引用返信 編集キー/
■94124 / inTopicNo.4)  Re[2]: WindowsXPPCでORA-00903が発生
□投稿者/ 魔界の仮面弁士 (2616回)-(2020/03/17(Tue) 23:14:14)
No94122 (KOZ さん) に返信
>> WindowsXPでOracle9iを使用しているPCでは「ORA-00903:表名が無効です」と表示されてしまい、Oracleからの結果が表示されません。
> XP に .NET Framework 4.0.3 を入れて ODP.NET の管理対象ドライバを使ったほうがよさそうな気がします。


9i Server への接続には、Oracle Client 11.2 以下が要求されると思います。

しかし、Managed ODP.NET (要 .NET 4.0 以降) は
Oracle Client 12.2 以降相当だったと記憶しています。

また、Unmanged ODP.NET (こちらは .NET 2.0 にも対応) についても、
対象サーバーは Oracle Database 10.2.0 以上だったかと…。


手元に環境が無いので未確認ですが、Oracle Client 12.1.0 以降は
Oracle Database Server 9.2.0 への接続がサポートされておらず、
「ORA-03134:このバージョンのサーバーへの接続がサポートされていません」
のエラーが発生するという資料を下記から見たことがあります。(今はデッドリンクのようですが)
https://orablogs-jp.blogspot.com/2017/02/client-certification-for-oracle.html
引用返信 編集キー/
■94125 / inTopicNo.5)  Re[3]: WindowsXPPCでORA-00903が発生
□投稿者/ KOZ (93回)-(2020/03/18(Wed) 00:57:47)
No94124 (魔界の仮面弁士 さん) に返信

「.NETへの快適なドライブ」
https://www.oracle.com/technetwork/jp/articles/dotnet/o24odp-2147205-ja.html

を見ると DB 側は 10.2 以降と思われますが、バージョンが不明な状態でお勧めしてはいけませんね。
失礼しました。

一応、9.2 用の ODP.NET はありますが、こちらも 9.2 以上に置き換えることを推奨していますね。
https://www.oracle.com/technetwork/jp/database/windows/downloads/utilsoft-087491-ja.html

引用返信 編集キー/
■94151 / inTopicNo.6)  Re[4]: WindowsXPPCでORA-00903が発生
□投稿者/ たろう (2回)-(2020/03/19(Thu) 19:31:58)
魔界の仮面弁士様、KOZ様

返信が遅くなり申し訳ございません。
ご回答ありがとうございます。


> tnsnames.ora が誤って他のサーバーインスタンスを指し示していませんか?
他のサーバーインスタンスは指し示していませんでした。

ODBCにすることでXPPCでもOracleからの結果が表示されましたので、今回ODBCで進めたいと考えています。
お忙しい中ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ