ADOBC 连接仅在 Windows 10 台机器上失败
ADOBC Connection Fails on Windows 10 Machines Only
我刚开始使用 Access/VB(2 个月前开始),所以请多多包涵。
我继承了一个与 Oracle 有 ADODB 连接的数据库,该数据库在 Windows 7 台机器(总共 5 台)上运行完美,但在 [= 上测试时出现以下错误35=]10台机器(共2台)。 (所有机器都是 运行 Access 2010)。
Run-time Error '3709': The connection cannot be used to perform this operation. It is either closed or invalid in this context.
代码如下:
Public Function PTMNConnect() As ADODB.Connection
Dim Cn As ADODB.Connection
Dim Conn As String
Conn = "DRIVER={Microsoft ODBC for Oracle};CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=host)(PORT=port))(CONNECT_DATA=(SERVICE_NAME=PROD)));uid=username;pwd=password"
Set Cn = New ADODB.Connection
With Cn
.ConnectionString = Conn
.CursorLocation = adUseServer
.Open '**Errors Out on Open**
End With
Set PTMNConnect = Cn
End Function
这两天我一直在绞尽脑汁到处寻找可能的解决方案,但没有成功。
根据我看到的其他帖子,我 tried/verified 到目前为止是这样的:
- 已验证 Oracle 客户端已安装
- 确保 Path 变量包含必要的路径
- 已验证引用和文件路径在所有机器上都相同
如果您能提供任何见解或参考资料,我们将不胜感激!
我想出了一个解决办法!
原来 Windows 7 和 Windows 10 有不同版本的 {Microsoft ODBC for Oracle}
驱动程序,我认为这是导致错误的原因。我决定使用 Oracle 提供的驱动程序(每台 PC 都相同)而不是 Microsoft 提供的驱动程序(我发现它有所不同)。
用以下代码替换上面的 Conn
字符串解决了我的问题。 (此路由需要现有的 DSN):
Conn = "DRIVER={Oracle in OraClient11g_home1}; Dbq=DSN_TNSServiceName; uid=username; pwd=password"
我刚开始使用 Access/VB(2 个月前开始),所以请多多包涵。
我继承了一个与 Oracle 有 ADODB 连接的数据库,该数据库在 Windows 7 台机器(总共 5 台)上运行完美,但在 [= 上测试时出现以下错误35=]10台机器(共2台)。 (所有机器都是 运行 Access 2010)。
Run-time Error '3709': The connection cannot be used to perform this operation. It is either closed or invalid in this context.
代码如下:
Public Function PTMNConnect() As ADODB.Connection
Dim Cn As ADODB.Connection
Dim Conn As String
Conn = "DRIVER={Microsoft ODBC for Oracle};CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=host)(PORT=port))(CONNECT_DATA=(SERVICE_NAME=PROD)));uid=username;pwd=password"
Set Cn = New ADODB.Connection
With Cn
.ConnectionString = Conn
.CursorLocation = adUseServer
.Open '**Errors Out on Open**
End With
Set PTMNConnect = Cn
End Function
这两天我一直在绞尽脑汁到处寻找可能的解决方案,但没有成功。
根据我看到的其他帖子,我 tried/verified 到目前为止是这样的:
- 已验证 Oracle 客户端已安装
- 确保 Path 变量包含必要的路径
- 已验证引用和文件路径在所有机器上都相同
如果您能提供任何见解或参考资料,我们将不胜感激!
我想出了一个解决办法!
原来 Windows 7 和 Windows 10 有不同版本的 {Microsoft ODBC for Oracle}
驱动程序,我认为这是导致错误的原因。我决定使用 Oracle 提供的驱动程序(每台 PC 都相同)而不是 Microsoft 提供的驱动程序(我发现它有所不同)。
用以下代码替换上面的 Conn
字符串解决了我的问题。 (此路由需要现有的 DSN):
Conn = "DRIVER={Oracle in OraClient11g_home1}; Dbq=DSN_TNSServiceName; uid=username; pwd=password"