- PR -

OracleDB接続について

1
投稿者投稿内容
さつまはやと
会議室デビュー日: 2005/03/10
投稿数: 15
投稿日時: 2006-03-23 16:50
教えてください。
VB.NET Oracle9i にて開発を行っています。

ボタンクリックでDB接続→状態確認→DB切断

という、簡単な処理を試しているんですが、

*************************************************************************
'System.Reflection.TargetInvocationException' のハンドルされていない例外が mscorlib.dll で発生しました。
*************************************************************************

というエラーが発生します。
どうやらOpen()のところで発生しているみたいなんですが、原因および解決策がわかりません。
どなたか心当たりのある方、ご指南お願いします。

Private Sub DBOpen2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DBOpen2.Click
Dim Cn2 = New Oracle.DataAccess.Client.OracleConnection
Cn2.connectionstring = "User Id=" & "***" _
& ";Password=" & "***" _
& ";Data Source=" & "***" _
& ";Pooling=False"

Cn2.open()

MessageBox.Show(Cn2.state.ToString() & "", "")

Cn2.close()

End Sub

追加情報 : 呼び出しのターゲットが例外をスローしました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-23 17:05
引用:

さつまはやとさんの書き込み (2006-03-23 16:50) より:

'System.Reflection.TargetInvocationException' のハンドルされていない例外が mscorlib.dll で発生しました。

というエラーが発生します。


例外の種類だけでなく、スタック トレースなども全部記載してください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
さつまはやと
会議室デビュー日: 2005/03/10
投稿数: 15
投稿日時: 2006-03-23 17:14
返答ありがとうございます。

先ほどの例外の種類しか表示されません。

ほかにスタック トレースなどを確認できる方法があるんでしょうか?
私の知識不足で申し訳ないです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-23 17:25
引用:

さつまはやとさんの書き込み (2006-03-23 17:14) より:

先ほどの例外の種類しか表示されません。


デバッグ情報がない状態でデバッグしているのでしょうか?

引用:

ほかにスタック トレースなどを確認できる方法があるんでしょうか?
私の知識不足で申し訳ないです。


Open メソッドで発生するとのことですので、

コード:

    Try
        Cn2.open()
    Catch ex As Exception
        MessageBox.Show(ex.ToString())
    End Try


で、良いのではないでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
さつまはやと
会議室デビュー日: 2005/03/10
投稿数: 15
投稿日時: 2006-03-23 17:33
ありがとうございます。

実行してみたところ

ORA-12154:TNS:指定された接続識別子を解決できませんでした

などの表示されました
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-23 17:46
引用:

さつまはやとさんの書き込み (2006-03-23 17:33) より:

ORA-12154:TNS:指定された接続識別子を解決できませんでした


ConnectionString が間違っているか、Oracle そのものの構成が完了していないかでしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2006-03-23 19:15
引用:

さつまはやとさんの書き込み (2006-03-23 17:33) より:

実行してみたところ

ORA-12154:TNS:指定された接続識別子を解決できませんでした

などの表示されました



接続先情報として指定した接続識別子が %ORACLE_HOME%\network\admin\tnsnames.ora に
設定されていないのでしょう。

ありがちなのが "test" みたいな名前で作っていて、%ORACLE_HOME%\network\admin\sqlnet.ora に
"names.default_domain" が設定されていた、というパターン。
"names.default_domain" に "world" みたく値が入っていると、接続時に "test" って
だけ指定しても暗黙的に "test.world" が指定されたものと見なされて、
%ORACLE_HOME%\network\admin\tnsnames.ora には"test.world" が無いと
ORA-12154 エラーが出てしまいます。

_________________
もしもし@RMAN 友の会
1

スキルアップ/キャリアアップ(JOB@IT)