我对使用Access/VB(2个月前开始)非常陌生,所以请耐心等待。ADOBC连接在Windows 10计算机上失败
我继承了一个与Oracle的ADODB连接的数据库,该数据库在经过测试的Windows 7机器上完美工作(共5个),但在Windows 10机器上测试时出现以下错误(共2个)。 (所有机器都运行Access 2010)。
运行时错误'3709':连接不能用于执行此操作。在这种情况下,它是封闭的或无效的。
下面的代码:
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
我一直在货架我的大脑和一个可能的解决方案,这在过去的两天没有运气到处搜寻。
这里是基于我看到其他职位我已经试过/验证至今:
- 验证Oracle客户端安装
- 确保Path变量中包含了必要的路径
- 已验证的参考文件和文件路径在所有机器上都是相同的
您可能能够提供的任何洞察或参考将不胜感激!
这可能是有用的,以显示我们当你遇到那个错误时'Conn'的值。你提到了一个*“路径变量”*。在哪里以及如何使用?如果你省略'CursorLocation',你会得到不同的结果吗? – HansUp
@HansUp我已经添加了'Conn'的值。我尝试省略'CursorLocation',它在Windows 7机器上运行良好,但导致在Windows 10机器上出现相同的错误。 安装Oracle Client时,它会在环境变量的Path变量中添加两条到Oracle文件夹的路径。缺少这些路径会导致在添加路径后修复的某个Windows 7计算机出现错误。 – RyanPfled