- - PR -
ASP.NETでのODP.NET利用について
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-09 09:36
検証用に、ASP.NET(VB)でODP.NETを利用して、
Oracleのデータを検索・更新するWebサービスを 作成しているのですが、以下の問題が発生してしまい、 解決できない状態です。同じ問題に直面した方、 もしくはご存知の方いらっしゃいましたら、ご教示下さい。 (1)バージョン Oracle Client 10.1.0.2.0 ODP.NET 10.1.0.2.0 (2)検証用コード(抜粋) Imports Oracle.DataAccess.Client ・・・ Private oraCon As New OracleConnection Private oraTra As OracleTransaction ・・・ ' 接続情報の設定 oraCon.ConnectionString = "User ID=" & oraUsr & ";" & _ "Password=" & oraPass & ";" & _ "Data Source=" & oraIns ※oraUsr:Oracleユーザ ※oraPass:Oracleパスワード ※oraIns:接続文字列 ' 接続 oraCon.Open() ' トランザクション開始 oraTra = oraCon.BeginTransaction() (3)その他設定内容 Oracle Homeにワーカープロセスアカウント(ASPNET)の 読み取り実行権限を付与 (4)エラー状況 (2)のOpenメソッドを実行するステップで、以下の例外が 発生します。 --------------------------------------------------------------- NullReferenceException オブジェクト参照がオブジェクトインスタンスに設定されていません --------------------------------------------------------------- ちなみに、以前VB.NETで開発したWindowsアプリケーションでは、 同じコードで正常に動作しています。また、サーバを停止した状態と、 駆動状態では上記の同じ例外が発生するため、現在のところ、 Clientの問題ではないかと考えています。 宜しくお願い致します。 | ||||||||||||
|
投稿日時: 2006-05-09 10:01
どれが Null になっていますか? oraCon ? oraCon が Null ではないのに、NullReferenceException がスローされて困っているのでしょうか。
_________________ 囚人のジレンマな日々 | ||||||||||||
|
投稿日時: 2006-05-09 10:13
SQL*Plus での接続は問題ありませんか?
どちらで NullReferenceException がスローされますか? BeginTransactionでスローされるならそもそも Oracleへの接続に失敗しているきもします。 oraCon.State はどうなっていますか? | ||||||||||||
|
投稿日時: 2006-05-09 10:23
水を差すようですが、
とあるので、Open メソッドであるということは特定していると考えて良いでしょう。
ただ、例外の詳細が不可解ですね。(こんなメッセージではないハズ)
とあるので、コードにも問題はないと思います。 やはり、サービスに纏わる問題のように思えます。 うーん、OleDb などでは接続可能なのでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-05-09 14:19
早速の返答ありがとうございます。
oraConはNULLではありません。oraCon.Stateの値は、 Open前なのでClosedになっています。じゃんぬねっとさんの 言われるように、Webアプリ・サービス特定の問題なのかもしれませんが、 ちなみに、いろいろ調べていたら、IBM ThinkPadでは、ASP.NETから ODP.NETが使えないというような情報(不確定)もあり、試しに別の端末で 動かしてみたところ、正常に動作することを確認しました。 (動作しなかった端末はT42です) もう少し悩んでみようと思いますが、別の手段も視野に入れようと思います。 いろいろとアドバイス頂きまして、ありがとうございました。 | ||||||||||||
|
投稿日時: 2006-05-09 14:28
これらを確認するためにも、OleDb などでテストをして頂けると嬉しいです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-05-23 09:56
弊社の開発環境でも同様の障害が発生しました。
同じソースコードでもWindows版では問題なく動作し WEBサービス側ではNullReferenceExceptionが返却されてしまいました。 これはODP.NETでもOLEDBを使用しても同じ場所で発生しました。 現象を探ったとところ原因は、ASP.NETユーザーがODP.NETを 実行する権限がない為エラーが発生しているようでした。 WEBサービス側のユーザーをAdministrator権限のあるユーザーに 偽装して再度実行したところ問題なく動作しました。 |
1