delphi 三层结构中存取oracle数据库blob字段问题(问题已解决,大家来接分。今天下午一点结贴哎) (200分)

  • 主题发起人 主题发起人 eboy_wy
  • 开始时间 开始时间
E

eboy_wy

Unregistered / Unconfirmed
GUEST, unregistred user!
问题1,用微软的数据库驱动程序(microsoft OLE DB Provider for Oracle),根本无法读取带blob字段的表。表现为:两层直连时提示数据类型不被支持。三层时,数据连接和查询更新方法都做在中间层(COM+层,用的是MTS数据模块,和MTS对象),存取也都出错。
问题2,用Oracle的数据库驱动程序(Oracle Provider for OLE DB)。表现为:两层时存取没有问题。三层时(中间层设计同上),则可以查询,但无法更新。
问题3,研究以上两个问题时附带发现:操作非blob字段的表时,中间层用微软的数据库驱动程序,可查询也可更新。但用Oracle的驱动程序,则只可查询,不能更新。
PS:据小弟测试,不用COM+,直接用Midas图片一样保存不成功。而用两层直连数据库没问题!

搞了好几天了,郁闷中。希望遇到过类似问题的高手多帮忙。
 
能不能把存取代码贴上来看看....
一般就用TBlobField().SaveToFile和LoadFromFile就可以了
 
楼上的大哥。三层结构里不能这么写啊。
 
我来接分.
 
报告,来啦。。。。。。。。。
 
没用过,俺一直都未用过dcom
 
odac是可以的!
 
我遇到的问题是保存Oracle 数据库。非blob字段用 微软的数据库驱动没问题,带图片的字段就不行。
用oracle的数据库驱动更新中间层datasetprovider的revolvetodataset属性必须设为true。这样才行。不知道为什么。
 
散分了。哎。
 
不知道是不是解决了,好象文不对题
 
是有点文不对题。已经解决了。是oracle的问题。
 
楼主怎么不把解决的方法贴出来呀!
也让我们学习学习!
 
我遇到的问题是保存Oracle 数据库。非blob字段用 微软的数据库驱动没问题,带图片的字段就不行。
用oracle的数据库驱动更新中间层datasetprovider的revolvetodataset属性必须设为true。这样才行。不知道为什么。
已经贴出来了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部