我正在努力从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数据?或做一些准备工作?
任何提示都将受到赞赏......