免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2500 | 回复: 8
打印 上一主题 下一主题

在BCB中如何访问DB2中的BLOB字段 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-22 11:04 |只看该作者 |倒序浏览
开发时碰到的问题。
连接DB2用的是ODBC,BCB版本是6.0
在Query中查询一个BLOB字段,返回了一个长的数字串(在其它工具里看到的,最起码我的SQL语句没有错误)。
试过以下几种方法:
1.Query->;field("aaa"  运行时报错:没有找到字段”aaa“
2.Query->;Fields->;FieldByNumber("0" 运行时错误,访问地址错误
3. Query->;GetBLOBField(0,BlobByteData) 结果是什么也没有得到。

怒啊!急啊!搞了两天了!帮帮忙吧!

论坛徽章:
0
2 [报告]
发表于 2003-07-22 11:07 |只看该作者

在BCB中如何访问DB2中的BLOB字段

需要使用db2提供的开发包,去看开发指南那本书。
Application Development Guide

论坛徽章:
0
3 [报告]
发表于 2003-07-22 11:21 |只看该作者

在BCB中如何访问DB2中的BLOB字段

谢了先
俺试试

论坛徽章:
0
4 [报告]
发表于 2003-07-22 11:29 |只看该作者

在BCB中如何访问DB2中的BLOB字段

应该可以先定义一个流,然后赋值(oracle下使用BDE可行)
TBlobStream *Stream;
Stream = new TBlobStream((TBlobField *)Query1->;FieldByName("aaa", bmRead);  
你试试看吧.

论坛徽章:
0
5 [报告]
发表于 2003-07-22 16:15 |只看该作者

在BCB中如何访问DB2中的BLOB字段

谢谢楼上的
我试了一下,主要错误还是说字段”aaa“不存在
放心我保证没有写错字段名

我怀疑是不是如果只查找一个BLOB字段,返回的值是不是就不叫那个名字了,只能根据位置号来取?可是根据位置号来取什么也得不到
我听从第一位的建议看了一下,不知道我用ODBC返回的BLOB到底应该是个什么东东啊?是否只是一个所谓的Locator啊,我用的ODBC是IBM自己的DB2的ODBC
希望各位继续指点,我自己也在努力!问题未解决!

论坛徽章:
0
6 [报告]
发表于 2003-07-22 17:00 |只看该作者

在BCB中如何访问DB2中的BLOB字段

我的问题可以简化一下,如何走BDE+ODBC访问DB2的BLOB字段

论坛徽章:
0
7 [报告]
发表于 2003-07-28 09:18 |只看该作者

在BCB中如何访问DB2中的BLOB字段

自己顶,寻找好心人

论坛徽章:
0
8 [报告]
发表于 2003-08-05 13:52 |只看该作者

在BCB中如何访问DB2中的BLOB字段

很遗憾,俺和同事自己把这个问题解决了!

为什么BCB总是说找不到BLOB字段呢?我们重新改了IBM ODBC的一个选项,就可以了,程序还是那段程序,结果却对了,爽啊!
在ODBC 相应的设置中,打开“高级”一项,在“数据类型”一页,最下面有一个“长对象二进制处理”,默认值是“作为LOB数据”,另一项是“作为LONGVAR数据”,选择下面那项——“整个世界都清净了!”
默认值不可以大概是有他的原因吧?

这可好了,快成了我自娱自乐了!耽误N+M个工时!

论坛徽章:
0
9 [报告]
发表于 2003-08-07 13:27 |只看该作者

在BCB中如何访问DB2中的BLOB字段

你算运气的,可以用Longvarchar,如果BLOB存储的是二进制数据,比如Word文档或者图片,那你怎么办?
我觉得还是用DB2的开发包,程序中用数据流来解决,具体我在Java里做的
但我想理论是相同的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP