Windows 7 x64 ワークステーションで作業する必要がある古い VB6 アプリがあります (少なくともしばらくの間)。
テスト データベース (Oracle 10gR2) に接続しようとすると失敗します。「ORA-06413: 接続が開かれていません」というエラーが表示されます。
現在、「Microsoft ODBC for Oracle」ドライバーは、新しいバージョンの Oracle ではうまく機能しないため、非推奨になっていることを認識しています。私がアクセスできる XP ボックスの同じデータベースで問題なく動作するようです。
また、ドライバが Windows 7 x64 にまだ存在しているように見えます (少なくとも、ODBC データ ソース アドミニストレータ ツールの 32 ビット バージョンを見ると: [ドライバ] タブの c:\Windows\SysWOW64\odbcad32.exe.
XP ボックスでは、ODBC 接続について何を調べても問題ないように思われます。事前定義された接続をバイパスしているようです。
関連するコードが添付されています。これを Win7x64 で動作させる方法はありますか?
Global g_sConnectionString As String
Global g_oConn As ADODB.Connection
Public Sub CreateOracleConn()
Err.Clear
On Error Goto ConnectionError
g_sConnectionString = "Driver={Microsoft ODBC for Oracle}; " _
& "SERVER=" & "MyHost" _
& ";UID=" & "MyUserID" _
& ";PWD=" & "MyPassword & ";"
Set g_oConn = New ADODB.Connection
g_oConn.Open g_sConnectionString '<-- fails here
Exit Sub
ConnectionError:
If Err.Number <> 0 Then
'Clean up from the error
End If
End Sub