ORA-01460: 转换请求无法实现或不合理

ORA-01460: 转换请求无法实现或不合理_第1张图片                                                                                              ORA-01460 :转换请求无法实现或不合理
可能1:***********************************************************************
问题:客户端和服务端字符集不一致。
解决:

step1、通过执行select * from V$NLS_PARAMETERS查看服务端字符集

PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS32GB18030
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET UTF8
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE

step2、通过regedit修改注册表(仅讨论windows版)进行客户端的字符集,位置\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG

修改为[NLS_LANGUAGE ]_[NLS_ISO_CURRENCY]_[NLS_CHARACTERSET],

如上面的的服务器,应该修改为:AMERICAN_AMERICA.ZHS32GB18030。

OK了。

可能2:***********************************************************************
问题:大对象传进来的流的问题
解决:   public abstract void setBlobAsBinaryStream(java.sql.PreparedStatement arg0, int arg1, java.io.InputStream arg2, int arg3) throws java.sql.SQLException;
 
   调用 setBlobAsBinaryStream 这个方法的时候

可能3:***********************************************************************
问题:中间件底下的包
解决:   不懂为什么class12.jar不支持?或者是因为没有统一成同一个?
从oracle9.2之后,对jdbc的驱动程序的命名将有所改变,JDK1.1,JDK1.2的驱动程序名(class12.jar)将不在改变,一直沿用下去,从JDK1.4开始驱动程序名将所有改变,例如:JDK1.4的驱动名为ojdbc14.jar。JDK1.5的驱动名为ojdbc15.jar。针对不同的数据库版本时候,jdbc的版本应该选用不同的版本。
 
select * from v$version;这个可以获取数据库当前的版本号。
 
至于配对的用哪个jdbc的jar包,可以在网上查查看。
                                                                               -------------------------------------------20160802 小樊 QQ:731794167

你可能感兴趣的:(java,web,ORA-01460,转换请求无法实现或不)