你好我想在可变数组传递从PHP与Oracle。 我使用的OCI8和早前与可变数组作为存储过程的参数工作,并汇编,创建的那些可变数组的类型。 因此,虽然在PHP结束使得集合实例,我们可以直接提集合名称。
例如:
$my_coll = oci_new_collection($c, 'MY_ARRAY');
其中MY_ARRAY将是我在Oracle实例声明的变长数组类型。
create or replace type MY_ARRAY as varray(100) of varchar2(20);
所以,当我在包以外创建它们,类型编译并会在执行过程中做好准备。
如果我这样做,从包装,我找回了错误
PHP的警告:oci_new_collection()[function.oci新收集]:OCI-22303: “”类型“my_pack.my_array_type”未找到
我的包包头是这样的
create or replace
PACKAGE my_pack
AS
TYPE my_array_type is VARRAY(200) of varchar2(20);
my_arr my_array_type;
function my_func(
in_id number,
in_arr my_array_type
)
return number;
end my_pack;
现在,当我把从PHP中的调用来创建集合的实例,这是我做的方式
$my_collection = oci_new_collection($connect,'my_pack.my_array_type');
现在,我得到没有找到警告类型。
我的问题是,我怎么会纷纷致电VARRAY类型,它是在包??? 我做它作为package.type_name,但我正在逐渐写着键入找不到警告。