网站导航:首页 -> Oracle认证 -> Oracle认证应用技术辅导 -> Delphi中BDE直连方式访问Oracle的问题

Delphi中BDE直连方式访问Oracle的问题

 
用delphi开发基于oracle平台的数据库管理信息系统过程中,连接oracle后台一般考虑两种方式,一种是用oracle公司提供的驱动,用odbc方式来连接;一种是绕过odbc,用bde直连方式。
在oracle客户端配置连接字符串后,并在bde中创建一个oracle的别名,并把该别名的server_name设成oracle的连接串,然后就可以通过这个别名来访问oracle了)。本文主要说说后一种连接方式。
我用delphi4c/s(安装了对应的补丁程序)在开发基于turbolinux+oracle8.1.6的住房补贴管理系统过程中,就是采用的bde直连方式,bde升级到了5.1.1,碰到的问题如下:只要数据表中日期字段有空值,那么与该日期字段相关的所有的查询就会出现如下错误?(见图1)
对应的sql语句在sqlplus下没有问题,这只能说明是bde本身的问题。我在borland的主页上下载了bde5.1.1针对oracle8以上版本的补丁程序sqlora8.dll,版本是5.1.1.2,可问题依旧?!我询问了中国borland公司,没有结果。无奈之下,我把程序拷贝到同事的机子试了一下,居然没有出错!!检查了同事机子的sqlora8.dll版本,发现版本是5.0.1.22。我把这个文件拷贝替换掉,问题解决。后来,我挨个测试别的sqlora8.dll版本,都存在bde错误。这里也表明一个问题:高版本的软件不一定就好,就能解决问题。希望碰到同样问题的人,早些解决问题,少走些弯路。