我在excel 2013的电子表格中编写了一些VBA代码,代码将连接Oracle 11g以将一些数据写入其中。我使用以下代码连接远程Oracle服务器:
Private Function open_DB(tnsInfo As String, userName As String, pwd As String) As ADODB.Connection
Dim conn As ADODB.Connection
Dim connStr As String
Dim tnsInfoArr As Variant
tnsInfoArr = getTnsProperty(tnsInfo, ";")
On Error GoTo Error_Handling
Set conn = New ADODB.Connection
'connStr =
connStr = "Driver={Microsoft ODBC for Oracle}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=" & tnsInfoArr(1) & ")(PORT=" & tnsInfoArr(2) & "))" & _
"(CONNECT_DATA=(SERVICE_NAME=" & tnsInfoArr(0) & "))); uid=" & userName & " ;pwd=" & pwd & ";"
conn.ConnectionString = connStr
conn.CursorLocation = adUseClient
conn.Open
conn.CommandTimeout = 120
If conn.State = adStateOpen Then
'MsgBox "connect to Oracle successfully"
'conn.Close
End If
Set open_DB = conn
End Function
此代码在我的计算机上正常工作但在我同事的PC中无效,跟随我同事的机器中显示的错误消息:
[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序
ADO错误#: - 2147467259
...
我的同事需要在他的电脑上进行一些配置吗?但我记得我没有在自己的电脑上配置一些东西
任何人都可以告诉我如何解决这个问题?
我的操作系统版本是64位Windows 7企业版SP1
我使用的是MS Office 2013 64位版本。
答案 0 :(得分:0)
我认为您需要通过 ODBC数据源管理(32位/ 64位)设置用户 DSN 。还要确保您的同事的PC具有运行代码所需的所有驱动程序。
干杯。