0

我正在努力从 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 数据?或者做一些准备工作?

任何提示将不胜感激...

4

0 回答 0