这是我实习时遇到的一个问题,就是头让我去看看Oracle中的自定义类型,利用JDBC去调用存储过程,输入输出参数为Table类型。
这个功能实现很简单,推荐一个博客,讲的不错, http://blog.csdn.net/hzw2312/article/details/8444462。
但是,我在具体实现时,往数据库中插入数据时,会报错,错误分别为
1、Non supported character set: oracle-character-set-852
2、java.lang.NoSuchMethodError: oracle.i18n.text.converter.CharacterConverterOGS...
这个问题纠结了我有四个小时,在网上找各种解决方案,最终都不可以。我用的oracle版本为Oracle 11g,jdbc驱动为orjdbc6.jar。上面那个博主说,导入nls_charset12.jar 和orai18n.jar。可是我导入了,没有用。后来发现还需要再导入一个包就是classes12.jar。也就是说要导入4个jar包,orjdbc6.jar,nls_charset12.jar,orai18n.jar,classes12.jar。我是这样解决的。
另外oracle11以下的朋友就不是orjdbc6.jar这个jar包了,具有可以看..\product\11.2.0\dbhome_1\jdbc,oracle安装目录下jdbc中的Jar文件。