0

次の関数を実行すると、次のエラーが表示されます。キャッチは、接続を開く行を示します (Me.OracleConn.Open())。

サーバーが TNSNAMES.ora ファイルに存在することを確認しました。

Imports NetOracle = System.Data.OracleClient
...
Private Property OracleConn As NetOracle.OracleConnection
...
    Private Function Connect_To_Oracle() As Boolean
        Connect_To_Oracle = False

        Try

            'Me.OracleConn = New NetOracle.OracleConnection
            Me.OracleConn = New System.Data.OracleClient.OracleConnection
            Me.OracleConn.ConnectionString = "Data Source = (DESCRIPTION=" & _
                      "(ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP)(HOST = servername.net)(PORT = ####)))" & _
                      "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME = risk)));" & _
                      "User Id=user_name;Password=password;"

            Me.OracleConn.Open()
            Connect_To_Oracle = True
        Catch ex As Exception
            MsgBox("Oracle Connection Error:" & ex.Message)
        End Try


    End Function

ここに画像の説明を入力

4

2 に答える 2

1

$ ORACLE_HOMEの権限を確認してください。詳細については、http: //oraclepoint.com/oralife/2010/08/19/oracle-odbc-connection-issue-of-system-exception-ocienvcreate-failed-with-return-を参照してください。 code-1-on-windows-with-asp /

于 2012-04-03T20:01:30.890 に答える
0

TNSNames なしで ODP.Net を使用してみましたか? システム上のtxtファイルに苦労するよりもはるかに簡単だと思います...

接続文字列は次のようになります。

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;

基本的には TNSNAMES に入力した情報と同じですが、代わりに web.config に接続情報を入力します。

于 2012-04-04T03:42:18.110 に答える