通过下面的文字进行设置,我成功连接了数据库并从数据库检索数据。有一次,在执行宏时,我的PC(Windows 10)断电了,从那一刻起,我每次尝试连接到DB时(仅当我尝试通过VBA连接时)都收到错误消息,消息:
运行时错误'-2147467259(80004005)':
[Microsoft] [用于Oracle的ODBC驱动程序] [Oracle]尝试检索文本时出错错误ORA-01019
我收到的错误是来自命令“ cn.Open(strConnection)”的行
我已经安装了ODAC 12c 32bit,因为我具有Excel 32bit。
我认为此错误是活动的,因为某些寄存器中的信息在PC检索数据时断电后被锁定,但我找不到它。< br />任何帮助或提示对我来说都是宝贵的。
谢谢
Dim strConneciton As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
strConneciton = "Driver={Microsoft ODBC for Oracle};" & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=xxx.xxxx.xxx)(PORT=1521)" & _
"(CONNECT_DATA=(SERVICE_NAME=xxxxx)));user id=user1;password=1234;")
cn.Open (strConneciton)
If cn.State = adStateOpen Then
cn.Close
MsgBox "Completed!"
Else
MsgBox "Connection failed!"
End If
答案 0 :(得分:0)
感谢您的回答。
我将这些位置添加到PATH变量中,但是问题是相同的。
更改驱动程序(OraClient12Home1_32bit中的Oracle-在ODBC数据源管理器中是正确的名称(32位)),出现以下错误:
TNS协议适配器错误。
我能够从sqlplus到db,但是问题是当我尝试通过VBA连接时。
@Tim,谢谢您的提示,但这不是问题,我之前已经进行过检查。 >
最后我用新的Connection字符串完成了此操作,如下所示:
strConnection =“ Provider = OraOLEDB.Oracle; Data Source = xxx.xxxx.xxx :1521 / xxxxx;用户ID = user1;密码= 1234;“
再次感谢。