【VBA研究】Excel连接Oracle的⼏点说明
作者:
通过VBA连接Oracle数据库查询数据,最常⽤的是OleDB⽅法。这个⽅法⼀般有两种OleDB连接驱动⽅法,⼀种是⽤微软的驱动,另⼀种⽤Oracle驱动,Provider需要根据实际情况修改。最近常有⼈问我如何进了连接,这⼉对我使⽤的⽅法做个记录。
1、Microsoft公司提供的OleDB驱动MSDAORA,据说只⽀持32位系统,我在32位系统下使⽤没有问题,其连接字符串如下:
cnnStr="Provider=MSDAORA;Data Source=dataSource;User Id=userid;Password=password;"
cnnStr="Provider=MSDAORA.1;Data Source=dataSource;User Id=userid;Password=password;"
其中MSDAORA.1是驱动的名称,“.1”据说是版本号,是COM的命名规则的⼀个约定格式,可以不写;dataSource是Oracle客户端配置的服务名,就是a中配置的名称。
驱动程序msdaora.dll放在C:\Program Files\Common Files\System\Ole DB⽂件夹下⾯。
实际例⼦:
Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
cnnStr = "Provider=msdaora;Data Source=dl580g9;User Id=emssxjk;Password=emssxjk;"
cnn.Open cnnStr
或者直接写连接串:
cnn.Open "Provider=msdaora;Data Source=dl580g9;User Id=emssxjk;Password=emssxjk;"
2、Oracle公司提供的OleDB驱动,⽀持32bit与64bit,需要安装Oracle Data Provider for OLE DB,Oracle客户端应该带了。我的电脑安装的简易客户端也有这个驱动,驱动程序路径是C:\Oracle\ora90\BIN\OraOLEDB.dll,其连接字符串如下:
cnnStr="provider=OraOLEDB.Oracle;Persist Security Info=False;User ID=UserName;Data Source=DataBase;Extended Properties='';Password=Password"
cnnStr="provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=UserName;Data Source=DataBase;Extended Properties='';Password=Password"
形式和内容都和上⾯差不多,其中的默认项可以不写(),各个参数的顺序也不重要,只要把MSDAORA.1换成OraOLEDB.Oracle.1就⾏了。
如果使⽤中发现⽆法连接,报实时错误3706:未到提供程序,可以检查⼀下驱动个⽂件是否存在。
实际例⼦:
Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
cnnStr = "Provider=OraOLEDB.Oracle;Data Source=dl580g9;User Id=emssxjk;Password=emssxjk;"
cnn.Open cnnStr
3、最后说⼀下通过ODBC连接。其实和前⾯的OleDB连接差别不⼤。先去ODBC数据源管理器中看下驱
动程序的名称,然后写好连接串就⾏了。连接串如下:
cnnStr = "Driver={Microsoft ODBC for Oracle};Dbq=dataSource;UId=UserName;Pwd=Password;"
实际例⼦:
Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
cnnStr = "Driver={Microsoft ODBC for Oracle};Dbq=DL580G9;UId=emssxjk;Pwd=emssxjk;"
cnn.Open cnnStr
也可以⽤Oracle的驱动程序:
cnnStr = "Driver={Oracle in OraHome90};Dbq=DL580G9;UId=emssxjk;Pwd=emssxjk;"
或者
如何连接oracle数据库cnnStr = "Driver={Oracle in OraHome90};Dbq=DL580G9;User Id=emssxjk;Password=emssxjk;"其中{Oracle in OraHome90}是本⼈电脑上安装的简易客户端带的驱动程序,如下图所⽰:
ODBC数据源管理器的路径是“控制⾯板”--系统和安全--管理⼯具--数据源(ODBC),如下图:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。