如何用pb将oracle中的blob字段内容导出成文件?

ljw_pulse 2007-08-16 07:30:43
我的数据库中有一个表有多个字段,其中用一个字段是存放的是文件名,如"test1.bmp"或“test2.jpb”或"test3.doc"等,另一个blob字段是存文件的内容,是通过pb的用ole控件存进去的。现在我怎样才能将blob中的内容再导出成对应格式的文件呀?急!急!急!
万分感谢!
...全文
848 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fugary 2008-04-09
  • 打赏
  • 举报
回复
给各成功的例子好吧?
fanbo 2007-09-13
  • 打赏
  • 举报
回复
来晚了,看来只能接分了。
1,先从数据库中用Selectbolb 语句把数据读到一个blob变量中
2,判断blob的大小,然后用filewrite()函数。
刚来的风 2007-09-13
  • 打赏
  • 举报
回复
1、用 Selectbolb 语句
2、判断blob长度是否比32765大,如果大于要分段读取,每段32765
3、用文件操作函数
gcg_cumt 2007-08-17
  • 打赏
  • 举报
回复
给你拷贝个例子:

integer li_FileNum

blob emp_id_pic

SELECTBLOB salary_hist INTO : emp_id_pic

FROM Employee WHERE Employee.Emp_Num = 100

USING Emp_tran;

li_FileNum = FileOpen( &

"C:\EMPLOYEE\EMP_PICS.BMP", &

StreamMode!, Write!, Shared!, Replace!)

FileWrite(li_FileNum, emp_id_pic)

顺便提醒一下,如果文件大小大于32766,则要反复定位,写入
ljw_pulse 2007-08-16
  • 打赏
  • 举报
回复
可以将blob内容分解来用FileWrite写入,但是只有doc文件能打开,其它文件无法打开。
zjoy 2007-08-16
  • 打赏
  • 举报
回复
FileWrite can write only 32,766 bytes at a time

是不是你的图片太大了,
文件写的时候一次只能写进32K

ljw_pulse 2007-08-16
  • 打赏
  • 举报
回复
你的方法是取blob的内容,可是这个内容无法直接写成文件呀,写成的文件只有doc,txt可以打开,图片的无法打开。
zjoy 2007-08-16
  • 打赏
  • 举报
回复
Blob Emp_id_pic

SELECTBLOB Emp_pic

INTO :Emp_id_pic

FROM Employee

WHERE Employee.Emp_Num = 100

USING Emp_tran ;

pb帮助上的例子

752

社区成员

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

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