首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中用null数据填充的oracle数组

java中用null数据填充的oracle数组
EN

Stack Overflow用户
提问于 2013-02-21 17:08:09
回答 3查看 2.6K关注 0票数 4

当我尝试将字符串数组抛给oracle存储过程时,如下所示:

代码语言:javascript
复制
String arrStr[] ={"val1","val2","val3"};
ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor("STR_ARRAY", connection );

oracle.sql.ARRAY oracleArray = new oracle.sql.ARRAY(descriptor, connection, arrStr);

oracleArray保存空数据,oracleArray.datumArray ={?,?}

EN

回答 3

Stack Overflow用户

发布于 2013-09-16 23:00:33

在我的例子中(参见上面的评论),它是由编码问题引起的-没有任何异常或调试信息。将orai18n.jar包含到项目库中解决了这个问题……这真的很可悲,没有例外,也没有什么能说明如何解决这个问题。

票数 10
EN

Stack Overflow用户

发布于 2014-03-06 20:23:05

几个小时后我找到了原因,真正的问题是你的数据库的NLS_CHARACTERSET使用的编码不被你的客户端支持,为了支持其他NLS_LANG,有必要在类路径中添加orai18n.jar。使用此sql查看您的数据库设置:

SELECT * FROM NLS_DATABASE_PARAMETERS

票数 1
EN

Stack Overflow用户

发布于 2014-05-09 22:17:39

您的STR_ARRAY可能是这样定义的:

create or replace type STR_ARRAY is table of VARCHAR2(20);

正如Tomas所说,问题在于编码。我的解决方案是使用NVARCHAR2。

create or replace type STR_ARRAY is table of NVARCHAR2(20);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14998299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档