太奇怪了,求助,对于BLOB类型的字段,怎样用SELECT语句取出来?(在线等)

gOODiDEA 2003-01-20 10:03:18
太奇怪了,求助,对于BLOB类型的字段,怎样用SELECT语句取出来?(在线等)
在.NET里面我用C#写
string strSql = "SELECT yy, photo FROM xxx WHERE id = '"+ id +"'";
//执行strSql
...
其中photo为blob类型,yy为varchar2类型。

一运行就报:
未指定的错误发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。数据类型不被支持。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。数据类型不被支持。

如果改为:
string strSql = "SELECT yy FROM xxx WHERE id = '"+ id +"'";
//执行strSql
...

就能正确得出yy的值。

请问怎样才能取出photo ?


...全文
279 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
gz
doall4u 2003-08-17
  • 打赏
  • 举报
回复
up!
gOODiDEA 2003-01-20
  • 打赏
  • 举报
回复
谢谢大家,我改为longraw就行了!

结贴!
kkbgp 2003-01-20
  • 打赏
  • 举报
回复
用selectblob
wanghai 2003-01-20
  • 打赏
  • 举报
回复
找。NET的帮助文件,它应该提供一个方法的,大类型字段不能直接用SELECT取
kkbgp 2003-01-20
  • 打赏
  • 举报
回复
给你一个我读blob类型数据的代码(Pb8中使用正常)
定义:
string slbmptu
Blob blbmp

Declare clCursor Cursor for
select bianhao from bmp_tu where fubianhao=:slbmptu order by bianhao asc;
open clCursor;
Fetch clCursor into :slbmptu;
bgBMP=BLOB('')
do while sqlca.sqlcode=0
SELECTBLOB bmptu into :blBMP from bmp_tu where bianhao=:slbmptu;
bgBMP = bgBMP + blBMP
Fetch clCursor into :slbmptu;
loop

close clCursor;


应该对你有帮助

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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