我有一个JDBC程序,它使用CallabaleStatement
对象来设置和注册存储过程的IN / OUT参数。
我使用了ArrayDescriptor
和oracle.sql.ARRAY
对象,并将其设置为具有用户定义数据类型的输入参数。
用户定义的数据类型为TYPE CharArray1 IS TABLE OF CHAR(7)
。在执行错误期间,我收到的是#34;无效的模式名称my-object"。
我按以下方式设置输入:
ArrayDescriptor ad = ArrayDescriptor.createDescriptor("<package-name>.CharArray1", conn);
ARRAY arr = new ARRAY(ad, conn, new String[]{"1"});
callableStatement.setArray(3, arr );
其中conn
是我的Connection
对象。我已检查数据类型package-name
的{{1}}的执行权限。我删除了包名并检查,错误保持不变。
提前致谢。请告诉我这里我做错了什么。
答案 0 :(得分:0)
尝试将CHAR
切换为VARCHAR2(7个字符)