设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4378|回复: 5
打印 上一主题 下一主题

[ADO/DAO] access连接oracle数据库

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-23 21:02:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位 :

          大家好
最近我碰到个问题,我想用ACCESS连接局域网内的服务器上Oracle数据库,能不能不要在每个客户端安装 ORACLE数据库的客户端,然后通ODBC的方式连接?我试验了下在没有安装ORACLE数据库的客户端电脑上 通过ODBC好像不可以连接,另外想指教下各位 是不是通过ODBC连接的方式是不是要在每个客户端安装?


以上这个问题我想了好久,但没有好的方法,请各位大侠帮我看看,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2009-11-23 21:06:46 | 只看该作者
麻烦版主帮我看看谢谢
3#
发表于 2009-11-23 21:23:53 | 只看该作者
通过ODBC连接是没有问题的。
4#
 楼主| 发表于 2009-11-23 21:32:25 | 只看该作者
总的思路,是利用ADO和QueryTable完成Oracle数据库的连接和读取
你上面那段代码出错原因的分析:
1、
看看vba的“工具”菜单中“引用”里面有没有引用
Microsoft ActiveX Data Objects 2.0 Library
如果没有,勾上它
2、把
cnn1.ConnectionString = "data source = vgsm;user id=vgsm;password=vgsm;"
这一句改为
cnn1.Open "Provider=MSDAORA.1;password=vgsm;password=vgsm;data source = vgsm;Persist Security Info=True"
其中,data source的名字是你的Oracle客户端定义的TNS名称
3、Dim rstemployees As New ADODB.Recordset
     rstemployees.Open Source:=sqlcode,ActiveConnection:=cnn1,CursorType:=adOpenDynamic,LockType:=adLockReadOnly,Options:=adCmdText
with Sheet1.QueryTable.Add(Connection:=rstemployees,Destination:=Rang("A1:D1"))
  .FieldNames=False '是否现实字段名称
  .RowNumbers=False '是否用一列显示行号
  .RefreshStyle=xlOverwriteCells
end with
上述代码中,Sheet1代表要灌入数据的工作表,sqlcode代表要执行的sql查询语句,
Rang("A1:D1"))代表灌入的数据第一行的位置
至于QueryTable的属性设置可以参考vba的帮助,很详细,在此不再一一说明,QueryTable是个好东西
5#
 楼主| 发表于 2009-11-24 10:19:17 | 只看该作者
"通过ODBC连接是没有问题的。"

这个需要按照ORACLE客户端
放到客户端时是不是要在每个客户端设置ODBC
6#
 楼主| 发表于 2009-11-24 10:22:47 | 只看该作者
我找到个 Oracle精简版客户端及ODBC驱动的安装,现分享给各位


第一步:
先下载《Oracle9i客户端精简版3.0.msi》,地址如下:
http://www.xdowns.com/soft/softdown.asp?softid=33313

安装以后在开始菜单里找到tnsnames.ora 用记事本打开编辑。删掉不要的tns,按其中的格式添加自己需要的tns。这时候pl/sql developer等工具就可以连上了。

现在安装odbc驱动。为什么要装呢?比如说用PowerDesigner做reverse engineering的时候,非得配个odbc源不可。

第二步:
下载
http://download.oracle.com/otn/u ... racle9i/ora9202.exe
解压到本地的某个固定目录,如ORA9202下。
这时候还得借助oracle安装盘,运行universal installer。选择产品的时候选择
刚才自解压包中解出来的 ORA9202\Disk1\stage\products.jar

第三步:
配置环境变量,在path中添加如 %ProgramFiles%\Oracle\ora90\BIN; 注意“%ProgramFiles%\Oracle”是第一步中精简版的安装目录。

注意第三步,如果不做的话,添加odbc数据源的时候会报如下错误 ;)
---------------------------
Driver title
---------------------------
Error Cannot Load Resource File sqresus.dll
---------------------------
确定
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 02:19 , Processed in 0.229307 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表