- - PR -
VB.NETからoracle 接続
«前のページへ
1|2|3
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-07 15:07
また,念の為なんですが…,
と
が微妙に違っているような気がしますが, ここへ張り忘れですよね? | ||||||||||||
|
投稿日時: 2005-09-07 15:12
それだと、Open で例外が発生すると思いますから、多分張り忘れでしょう。(代弁) Integrated Security じゃないところを突っ込みたいところです。 OracleConnection.ConnectionString プロパティ _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-09-07 15:48
SQL*Plusからはログインできますし、selectもできます。
一応oracle自体に不安があるので再インストールしてみます | ||||||||||||
|
投稿日時: 2005-09-07 16:05
SQL*Plusからログイン出来、かつSELECTも出来るのであれば Oracleに問題は無いです。 作られているPGのどこかにコーディングミスがあると言う事です。 まずは簡単なOracleに接続してデータを取ってくるPGを作って それで通るのか確かめて下さい。 それと今回問題になっているPGを比較していけば良いのでは無いでしょうか? 逆に追っていけば C:\Documents and Settings\Administrator\My Documents\VB\WindowsApplication\Form1.vbline 85 →Form1の85行目の at WindowsApplication.Form1.Button1_click(Object sender, EventArgs e) →ボタン1をクリックするメソッドで Oracle.DataAccess.Client.OracleCommand.ExecuteReader() →を呼びますよ。 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery,Boolean fillRequest, CommandBehavior behavior) →これを呼びますよ。 System.InvalidOperationException:→不正な操作が実行されました この操作に対して接続がオープンされている必要があります。 ですから要するに必要な引数が足りてないか間違っているんじゃ無いでしょうか? _________________ Inspired Ambitious ISMS Assistant Auditor [ メッセージ編集済み 編集者: NAO 編集日時 2005-09-07 16:14 ] | ||||||||||||
|
投稿日時: 2005-09-07 19:23
そうか。確かにそうですね…。 しかし何とな〜く、投稿されたコードが全てではなくて、問題のメソッドの外とか別のところに原因がありそうな気がするんですよね。
再度投稿された内容では統一されていたり、接続文字列が変わっていたり、うーん…。 | ||||||||||||
|
投稿日時: 2005-09-07 22:41
リファクタしていいですか?
オープンに失敗した後に使おうとしてはいけません。そんなの、必ずエラーになります。なので、Try 〜 Catch は1つで十分です。 例外が発生すると、Catch ブロックへ飛びます。Try 〜 Catch の中で Dispose や Close をしてはいけません。これらは Finally ブロックにまとめます。 文字列の連結を、たくさんする場合は StringBuilder を使います。文字列A+文字列Bをすると、AとBの領域の他に、できあがった文字列Cの領域が確保されます。非常にメモり効率が悪いです。 元のコードでは、 TextBox1.Text & Rdr.GetInt16(0) の結果…1 1 & " " の結果…2 2 & Rdr.GetString(1) の結果…3 3 & vbCrLf の結果 が確保され、TextBox1.Text に代入されます。 _________________ Rdr の Nothing チェック、忘れてた [ メッセージ編集済み 編集者: Jitta 編集日時 2005-09-07 22:42 ] | ||||||||||||
|
投稿日時: 2005-12-10 06:21
古いスレッドですが情報提供のため返信します。
こちらでもまったく同じ現象が起きました。 現象を整理すると ・コネクションのオープンは正常終了する ・OracleDataReaderのReadメソッドで例外が起きる ・「追加情報 : この操作に対して接続がオープンされている必要があります。」が出力される こちらで判明した原因はエラーを起こしているマシンに10gサーバー用/クライアント用2つのORACLEをインストールしていたためでした。 システム変数PATHをみると10gサーバー用のPATHが先に切ってあり次にクライアント用が続いていました。そこでこのPATHの順序を入れ替えたら上記エラーは起きなくなりました。 ちなみに当該マシンではORACLE自体は正常にインストールされているのでSQL*PLUSは正常に動きます。 みつばちまあやさんは再インストールされているみたいですので同じ状態だとしたらPATHの設定も変わり解消されているかもしれませんね。 |
«前のページへ
1|2|3