注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

海宏软件的个人主页

用机器解放人的双手

 
 
 

日志

 
 

在64位win2008中使用32位的delphi连接oracle  

2014-11-10 19:29:09|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

64位2008系统中安装32位的ORACLE-ODBC驱动

 在64位win2008中使用32位的delphi连接oracle

64位的win2008中,delphi7写的程序,连接oracle出错。

 

1.         64位的windows2008中安装32位的Oracle-Client客户端。

可以从oracle下载,也可以直接下中文汉化版。

http://www.hanzify.org/software/13506.html

 

 

2.         打开32位的ODBC管理器,创建32位的ODB

通过传统的方式之所以无法找到Oracle Database驱动程序,原因在于平台是64位,但安装的是32位的Oracle Database软件,常规的ODBC管理器不会加载32位的驱动程序。通过执行C:\Windows\SysWOW64\odbcad32.exe程序可以打开加载32位驱动程序的ODBC管理器。

 

 

3.         创建ODBC连接

创建一个基于微软ODBC的名字Test2

创建一个基于oracle-odbc的名字Test3

 

 

 

 

4.         DelphiADO中连接ODBC

测试两个ODBC,都能通过。

 

5.         Delphi另一种连接方式:

http://blog.163.com/copy00@126/blog/static/151149979201042111409958/

http://blog.sina.com.cn/s/blog_4b11c3ca0100xxjv.html

Provider=OraOLEDB.Oracle.1;Persist Security Info=True;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = <服务器名称或IP>)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = <全局数据库名称>)));User ID=<用户名>;Password=<密码>

使用ADO连接oracle数据库时,连接串使用Provider=OraOLEDB.Oracle时提示“未找到提供程序。该程序可能未正确安装”。

原因:正如提示信息所说

查看oracle安装目录下的BIN目录,发现没有OraOLEDB*.dll

解决方法:

从运行正常的机器上拷贝上述dll文件

然后注册其中的

OraOLEDB10.dll(其它版本的oracle可能后面的数字会跟随变化)

注册方法:

regsvr32  OraOLEDB10.dll

在其所在目录下执行

另使用Provider=MSDAORA时,不支持读写BLOBCLOB类型的数据,没办法,只能使用oracle oledb

原来Oralce OLEDBoracle提供的,怪不得怎么重装微软的数据库驱动都不行

MSDAORA是由微软提供

 

6.         其他事项:

 

 

 

  评论这张
 
阅读(368)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017