我有一个旧的VB6应用程序,我需要在Windows 7 x64工作站上工作(至少有一段时间)。
当我尝试连接到我的测试数据库(Oracle 10gR2)时,它失败了。我收到“ORA-06413:连接未打开错误。”
现在,我认识到“Microsoft ODBC for Oracle”驱动程序已被弃用,因为它不适用于较新版本的Oracle。它似乎可以在我有权访问的XP机器上使用相同的数据库。
我也看到驱动程序似乎仍然存在于Windows 7 x64上(至少当我查看32位版本的ODBC数据源管理器工具时: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
答案 0 :(得分:3)
问题完全与Visual Basic 6的安装位置有关。默认情况下,它安装在C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE
如果您将其位置更改为:
C:\ProgramFilesX86\Microsoft Visual Studio\VB98\VB6.EXE
运行正常。