2

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
4

1 に答える 1

3

この問題は、Visual Basic 6 がインストールされている場所に完全に関連しています。デフォルトでは、次の場所にインストールされていますC:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE

その場所を次のように変更した場合: C:\ProgramFilesX86\Microsoft Visual Studio\VB98\VB6.EXE

正常に動作します。

于 2013-11-06T22:55:03.657 に答える