我有一个旧的 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
最佳答案
该问题完全与 Visual Basic 6 的安装位置有关。默认情况下,它安装在C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE
如果您将其位置更改为:
C:\ProgramFilesX86\Microsoft Visual Studio\VB98\VB6.EXE
运行正常。
关于oracle - 如何让 "Microsoft ODBC for Oracle"驱动程序在 Windows 7 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19800590/