2

我有一个旧的 VB6 应用程序,我需要在 Windows 7 x64 工作站上工作(至少一段时间)。

当我尝试连接到我的测试数据库(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 回答