delphi clientdataset 操作oracle 的blob字段

虚月 2011-12-16 10:57:23
我是使用三层结构连接oracle数据的。
我想在客户端上对oracle数据库进行存取图片的操作。听网上说存图片要用blob字段。但是我一在表xdb_picinfo上添加blob字段字段名:picture,使用clientdataset 查询那个表上的picture字段就会提示出错。
ClientDataSet1.Close;
ClientDataSet1.CommandText:='Select * from YourTable';
ClientDataSet1.Open;//在这里出错的
我在网上找了,网上说是要把服务器的DataSetProvider.Options设置poAllowCommandText为True。我也设置了,但还是没用。我还看到有个帖子也出现这样的问题,但后面他说他自己换了一个驱动就可以了,但我还是不太明白。
网上也有说是升级ADO的驱动,或是换成ODAC连接。这两个我也不太明白。
希望大家给帮忙下!!
...全文
156 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
虚月 2012-01-03
  • 打赏
  • 举报
回复
终于找到了,是把服务器connection的provide属性改为OraOLEDB.Oracle。如果是动态连接的话改为doc_conn.ConnectionString := 'Provider=OraOLEDB.Oracle;Password=' + pwd
+ ';User ID=' + UserName
+ ';Data Source=' + DataBase
+ ';Persist Security Info=True';
谢谢各位的帮忙!!
虚月 2012-01-03
  • 打赏
  • 举报
回复
没人回答帮忙下吗???
都先生 2011-12-21
  • 打赏
  • 举报
回复
不管连接方式是怎么样的。一旦连接成功就不应该出现这样的问题。
你仅仅是查询,又没有专程对图片进行加载。
虚月 2011-12-21
  • 打赏
  • 举报
回复
因为我也是接手别的人程序的,原来的是接SQL,现在改成oracle。服务器也不是我做的。
服务器主要是用TADOConnection,TDataSetProvider,TADOQuery组成的。
客户端是用TSocketConnection使用IP去连接的。
我一个同事用和我一样的去连接SQL的图片可以正常存取。
我是一有查询到有blob的字段就会出错!
我原来是使用服务器上写的函数查询的,服务器上的函数是用TADOQuery直接查询数据库,返回数据集,一样出错。
with ClientDataSet_KSBB do
begin
//这个是函数名
data := RemoteServer.AppServer.fun_getdatasql1('select * from xdb_picinfo');
end;
虚月 2011-12-21
  • 打赏
  • 举报
回复
是啊!我只是这样觉得的,但我查询其他的都可以,一查询到有blob类型的字段就不行了!
我看到的跟我一样的那个帖子是这这,你们参考下。给点意见!!http://topic.csdn.net/t/20050818/09/4215554.html
kaikai_kk 2011-12-16
  • 打赏
  • 举报
回复
是驱动问题,看看连接的方式是什么
spactator 2011-12-16
  • 打赏
  • 举报
回复
你是提示“数据类型不支持”吧?你连接ORACLE是用的什么方式?如何是用MS提供的OLEDB就会出现这样的错误,改为ORACLE提供的就好了。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧