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

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

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

Re[4]: この操作に対して接続がオープンされている必要があります


(過去ログ 29 を表示中)

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

■13812 / inTopicNo.1)  この操作に対して接続がオープンされている必要があります
  
□投稿者/ TK (1回)-(2008/02/05(Tue) 10:55:45)

分類:[.NET 全般] 

お世話になります。
初めて投稿させていただきます。

vb.net2003
oral 10g
で開発中のプログラムで
「例外の詳細: System.InvalidOperationException: この操作に対して接続がオープンされている必要があります。

というエラーが発生して困っております。

コネクションのオープン(objCon.Open())では、例外は発生しないのですが
後工程のデータ読み込み(objCmd.ExecuteReader)で上記例外が発生します。

オラクルのクライアントを4つインストールしているのですが
何か設定が足りない為に、上記例外が発生するのでしょうか・・・・

以上 宜しくお願い致します。



引用返信 編集キー/
■13813 / inTopicNo.2)  Re[1]: この操作に対して接続がオープンされている必要があります
□投稿者/ はつね (429回)-(2008/02/05(Tue) 11:06:03)
はつね さんの Web サイト
No13812 (TK さん) に返信
> コネクションのオープン(objCon.Open())では、例外は発生しないのですが
> 後工程のデータ読み込み(objCmd.ExecuteReader)で上記例外が発生します。

コード示してもらえないと想像でしか回答ができませんが、OpenしたOracleConnectionをOracleCommandに渡していないのでは?

引用返信 編集キー/
■13814 / inTopicNo.3)  Re[2]: この操作に対して接続がオープンされている必要があります
□投稿者/ TK (2回)-(2008/02/05(Tue) 11:14:15)
No13813 (はつね さん) に返信
> ■No13812 (TK さん) に返信
>>コネクションのオープン(objCon.Open())では、例外は発生しないのですが
>>後工程のデータ読み込み(objCmd.ExecuteReader)で上記例外が発生します。
>
> コード示してもらえないと想像でしか回答ができませんが、OpenしたOracleConnectionをOracleCommandに渡していないのでは?
>

失礼致しました。
コードは以下のようになります。

>OpenしたOracleConnectionをOracleCommandに渡していないのでは?
他のPCでは、問題なく動作するため、その点に関しては大丈夫だと思います。

-------------------------------

'DBConnection
Dim objCon As OracleConnection
Dim objCmd As OracleCommand

Dim objrdr As OracleDataReader

Try

'DB接続文字列の取得
objCon = New OracleConnection("data source=DBTEST; user id=DBETEST; password=DBTEST;")
objCmd = New OracleCommand("SELECT * FROM xxxx", objCon)

objCon.Open()

objrdr = objCmd.ExecuteReader

-------------------------------
引用返信 編集キー/
■13817 / inTopicNo.4)  Re[3]: この操作に対して接続がオープンされている必要があります
□投稿者/ はつね (430回)-(2008/02/05(Tue) 11:48:49)
はつね さんの Web サイト
No13814 (TK さん) に返信
> >OpenしたOracleConnectionをOracleCommandに渡していないのでは?
> 他のPCでは、問題なく動作するため、その点に関しては大丈夫だと思います。

なるほど。そうするとその開発環境が壊れているのかもしれないですね。
OracleClientが4つ入ってるって事ですが、本当に4つも入れておく必要があるのでしょうか。
また、ORACLE_HOMEの切替とかは正しく行っているのでしょうか。
OracleConnectionとOracleDataReaderに対する参照設定は、同じOracleClientのものを指定していますでしょうか。


引用返信 編集キー/
■13818 / inTopicNo.5)  Re[4]: この操作に対して接続がオープンされている必要があります
□投稿者/ やじゅ (100回)-(2008/02/05(Tue) 12:00:46)
> ■No13814 (TK さん) に返信
>
> なるほど。そうするとその開発環境が壊れているのかもしれないですね。
> OracleClientが4つ入ってるって事ですが、本当に4つも入れておく必要があるのでしょうか。
> また、ORACLE_HOMEの切替とかは正しく行っているのでしょうか。
>

VB.NETからoracle 接続
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=24231&forum=7&start=16
・コネクションのオープンは正常終了する
・OracleDataReaderのReadメソッドで例外が起きる
・「追加情報 : この操作に対して接続がオープンされている必要があります。」が出力される
こちらで判明した原因はエラーを起こしているマシンに10gサーバー用/クライアント用
2つのORACLEをインストールしていたためでした。
システム変数PATHをみると10gサーバー用のPATHが先に切ってあり次にクライアント用が続いていました。
そこでこのPATHの順序を入れ替えたら上記エラーは起きなくなりました。
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -