我在用java调存储过程时,给存储过程传了一个字符串数组,在存储过程中可以获得这个数组的长度,但数组里的内容却得不到,是null,请问大虾们有什么解决方法么?

解决方案 »

  1.   

    上代码。包括java和存储过程。
      

  2.   

    在存储过程中可以获得这个数组的长度,但数组里的内容却得不到,是null,不可能吧
      

  3.   

    的确如此,我也认为不可能,但传整型数组就可以取到值,很怪异,可能是少什么jar包或驱动?
      

  4.   

    因为int在java中是基本类型,所以可以直接用setARRAY来弄
    但是String在java中是类,所以,用String的数组,必须先取得Descript,然后把它以Object数组的方式转为oracleTypes.ARRAY,然后再set。具体你可以去我blog看看
    http://blog.csdn.net/crazylaa/archive/2009/11/28/4897361.aspx
    我这里面是对象数组,你把String看作里面的那个对象就行了。
      

  5.   

    你可以把你的字符串数组,组合成 a,b,c这种用特别符号分隔的字符串!然后在存储过程,使用split可以得到这个数组呢~~不知道对于你的情况,这样行不?
       我们用存储过程,就是这样的-
      

  6.   

    你的split是自己写的函数还是过程吧?嘿嘿。
      

  7.   

    楼主问题解决了吗?
    我也碰到一样的问题了,有的数据库没问题,有的有问题。
    http://topic.csdn.net/u/20120229/11/0618c709-1cc6-4c91-99b6-7f13229b3d45.html?seed=1773796978&r=77715863#r_77715863