2012-06-26 83 views
1

我使用用户DSN下的“Microsoft ODBC for Oracle”驱动程序为oracle创建了一个ODBC连接。 我可以连接到Oracle 10g中使用SQL开发人员,但是当我尝试通过ODBC连接它说无法通过VBA连接到Oracle - 驱动程序的SQLSetConnectAttr失败

[微软] [ODBC驱动程序管理器]驱动程序的SQLSetConnectAttr失败

我曾尝试下面的代码连接。

data_src = Oracle 
Database = sys 
Uid = <my id> 
pwd = <my pwd> 
Set cn=new ADOBB.Connection 
Cn.open "DataSource=" + data_src + ";" + Database + "; persist security Infor = True; UserID= " + Uid + "; Password=" + pwd + "; SessionMode = ANSI;" 

我已经使用具有不同设置的相同代码连接到Teradata。请帮我连接VBA的Oracle 10g

+2

VBA的连接符是&not +,+会导致空值问题。 – Fionnuala

+0

但是,当我尝试使用相同的代码连接Teradata时,工作正常。 – logan

回答

1

已知问题 - 请参阅IBM support post。解决方案 - 使用Oracle驱动程序。

另外 - 连接字符串在不同的数据库驱动程序之间是不同的。例如,对于Microsoft Oracle驱动程序的连接字符串看起来像

Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword; 

,而一个用于Oracle的自己的驱动程序将类似于

Driver={Oracle in OraHome92};Dbq=myTNSServiceName;Uid=myUsername;Pwd=myPassword; 

分享和享受。

+0

该链接说, 解决问题 当创建一个ODBC(SQL)映射的DSN时,它不能使用Microsoft的Oracle驱动程序创建, 使用Oracle ODBC驱动程序创建DSN 。 “我想使用Mircosoft ODBC”连接。无论如何,让我试试你的微软代码,并让你知道。 – logan

相关问题