oracle - 如何让 "Microsoft ODBC for Oracle"驱动程序在 Windows 7 中工作

标签 oracle windows-7 vb6 windows-7-x64

我有一个旧的 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/

相关文章:

c++ - 加载 mswsock.dll 花费太多时间

com - 如果我在 VB6 项目中使用类型库 (.tlb),是否需要将它与 .exe 一起分发?

oracle - 在隐式游标上使用 sql%notfound

sql - 使用 group by 时出错

Oracle 触发器更新不同表中的实体

vb6 - Visual Basic 6 如何将整数转换为 boolean 值?

C#相当于VB 6的串口SETTINGS函数

visual-studio - VS 2010 Server Explorer数据库未显示表

混帐 "unable to determine absolute path of git directory"

postgresql - VB 脚本 PostgreSQL pg_dump