如何用C ++和OCCI阅读VARRAY'执行'方法?

时间:2015-04-16 13:17:10

标签: c++ oracle occi

我正在努力从oracle 11g数据库中读取VARRAY元素。 我正在使用CPP occi DLL。 我可以读取任何其他类型,并更新VARRAY类型,但当我尝试选择VARRAY值时,我在occi dll中得到一个“访问冲突”异常:(

这是一个简化的场景:

CREATE TYPE ALIST AS VARRAY(50) OF NUMBER(8)

create table ATABLE (a nmumber(8), b mylist)

insert into mytable values(1, alist(1,2,3))

当我做的时候

oc::Statement* stmt = m_cConnection->createStatement("SELECT b FROM ATABLE");
stmt->executeQuery();

没关系 但是当我尝试以相同的方式访问VARRAY时

oc::Statement* stmt = m_cConnection->createStatement("SELECT a FROM ATABLE");
stmt->executeQuery();

我得到了

  

OracleTester.exe中0x0094a46d的第一次机会异常:0xC0000005:   访问冲突读取位置0x0000000000000120。

知道我做错了什么吗?也许我需要使用不同的API来获取VARRAY数据?或做一些准备工作?

任何提示都将受到赞赏......

0 个答案:

没有答案