免费注册 查看新帖 |

Chinaunix

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

使用oracle 9.2.0.6 的 ANSI DYNAMIC METHOD 4 得到多行的BLOB数据 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-20 13:45 |只看该作者 |倒序浏览
附件中是我的一个测试例子:
OCIBlobLocator *pBlob_array[100];
int iRowCount = 10;
char out[8] = "1234\0";
char sqlstr[MAX_PATH] = "selete testblobcol1 from testtable1";
int iRowIdx = 1;
int i = 0;
....

EXEC SQL FOR :iRowCount ALLOCATE DESCRIPTOR ut;

EXEC SQL PREPARE S FROM :sqlstr;
EXEC SQL DECLARE C CURSOR FOR S;
EXEC SQL OPEN C ;
EXEC SQL DESCRIBE OUTPUT S USING DESCRIPTOR ut;

...

for (i=0; i<iRowCount; i++)
{
pBlob_array[i] = 0;
EXEC SQL ALLOCATE :pBlob_array[i];
}

EXEC SQL FOR :iRowCount SET DESCRIPTOR ut VALUE :iRowIdx REF DATA = :pBlob_array;

...

EXEC SQL FOR :iRowCount FETCH C INTO DESCRIPTOR ut;


EXEC SQL DEALLOCATE DESCRIPTOR ut;
EXEC SQL CLOSE C;


当我的记录只有一条的时候,可以正确的得到blob指针,而数据有2条以上的时候则提示错误:

unhandled exception in protest2.exe(oracommon9.dll):0xc0000005:access violation

不知道该如何解决这个问题?

如果有那位高手知道如何解决这个问题,请指点一下,不胜感激。
谢谢/

proctest3.rar

73.34 KB, 下载次数: 29

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP