一个很简单的程序:ADO连接ORACLE(9i,10g,11g),执行一些sql语句,对数据表进行数据的添删改。
问题出现了
服务器:oracle9i/winxp ,客户端 9i(11g也用过)/win7
连接驱动ORAOLDEB,ADO
连接没有问题,但是执行SQL语句时出现错误[ORA-00905: 缺少关键字]错误,调试发现是个简单的select ... from 语句,其中由于该表有CLOB字段,因此sql语句做过预先处理,将该字段强制转为vharchar(200)。
这个语句在pl/sql和sql plus执行均没有问题。但是在程序中就不行,只要执行到ADODataSet.Open;就会报错。
但是很奇怪的事情是:
在别的计算机上运行这个程序,就没有这个问题;假如这个结论完全正确的话,可以认为客户端计算机环境有问题。
但是随后,我在这个客户端机器上写了个简单的例子,TADODataSet从创建到open,和我程序中的完全一致,运行居然没有问题。
简直太费解了。到底是客户端的问题还是具有普遍性?
问题出现了
服务器:oracle9i/winxp ,客户端 9i(11g也用过)/win7
连接驱动ORAOLDEB,ADO
连接没有问题,但是执行SQL语句时出现错误[ORA-00905: 缺少关键字]错误,调试发现是个简单的select ... from 语句,其中由于该表有CLOB字段,因此sql语句做过预先处理,将该字段强制转为vharchar(200)。
这个语句在pl/sql和sql plus执行均没有问题。但是在程序中就不行,只要执行到ADODataSet.Open;就会报错。
但是很奇怪的事情是:
在别的计算机上运行这个程序,就没有这个问题;假如这个结论完全正确的话,可以认为客户端计算机环境有问题。
但是随后,我在这个客户端机器上写了个简单的例子,TADODataSet从创建到open,和我程序中的完全一致,运行居然没有问题。
简直太费解了。到底是客户端的问题还是具有普遍性?
当然不能完全排除数据库驱动原因