ORACLE provider for OLE DB 和MS ADO Provider for ORACLE的不同之处(50分)

  • 主题发起人 主题发起人 hanhan
  • 开始时间 开始时间
H

hanhan

Unregistered / Unconfirmed
GUEST, unregistred user!
我要用ADO处理ORACLE数据库中的BLOB字段,结果总是出错:数据类型不支持。
后来终于发现原因是我用的ADO for ORACLE的驱动是微软的,不支持BLOB字段。
我就跑到ORACLE公司去下了一个ORACLE的驱动ORACLE provider for OLE DB。
BLOB字段确实支持了,但又有新问题了:
原来我的MTS数据模块要被很多协调对象调用,我设的是allowcommand,协调对象通过commandtext
来调用同一个MTS数据模块。原来用MS的驱动时很正常,不同的协调对象得到符合自己
commandtext的数据集。然而换了ORACLE的驱动后,MTSMTS数据模块被第一次调用时正常,但是
被第二个协调对象调用时结果集就总是空,也不出错,但一条记录都没有。
有谁知道怎么回事,我要完全用ORACLE的驱动如何解决呢?
 
你应该使用ORACLE provider for OLE DB,MS的MS ADO Provider for ORACLE有很多问题。
 
我使用MS ADO Provider For Oracle 不能更新数据,只能显示;
下载Oracle Provider for OLE DB后,一切都可以,但是象你说的情况,
我一般是通过建立不同的数据集Provider来解决。
 
看来我提的问题确实存在,而且目前为止只能通过建立多个Provider来解决。
将来如果ORACLE有了改进请有人通知一声。
 
to gaolang:
我发现问题所在了!
原来并不是说第二次调用结果集就总是空。我第二次调用时字段中含有汉字导致的结果集为空。
例如以下的SQL语句就不可以:
SELECT NAME,CLASS FROM STUDENT WHERE NAME='克林顿'
但是如果不含汉字,象下面这样就可以取出结果:
SELECT NAME,CLASS FROM STUDENT WHERE NAME='Clinton'
看来ORACLE的驱动不支持汉字啊!但是只要汉字字段不在WHERE语句中也是可以查出来显示的。
比如上面的第二条语句可以查出结果:
Clinton 三年级二班
我想,某个参数设置就可以了。
你知道如何设置么?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
590
import
I
后退
顶部