ORA-12704: 字符集不匹配1.表中所有字段都是nvarchar2(50)
2.插入和更新数据时用的都是
insert into a(f) values(:f)
OracleParameter[] parameters = {
   new OracleParameter(":f", OracleType.VarChar)}3.试过了用OracleType.Nvarchar不好用
4.插入的数据类型有数字,中文,字母,英文,空,日期 然后就提示:
ORA-12704: 字符集不匹配请高好支招?

解决方案 »

  1.   

    insert into a(f) values(:f)
    OracleParameter[] parameters = {
    new OracleParameter(":f", OracleType.VarChar)}
    ???我怎么看不懂
      

  2.   

    ORACLE什么版本?
    SELECT * FROM v$version;数据库是什么国家字符集?
    SELECT VALUE
      FROM nls_database_parameters t
     WHERE t.PARAMETER = 'NLS_NCHAR_CHARACTERSET';
      

  3.   

    SELECT VALUE
      FROM nls_database_parameters t
     WHERE t.PARAMETER = 'NLS_NCHAR_CHARACTERSET';
    ZHS16GBK
    1 Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
    2 PL/SQL Release 8.1.7.0.0 - Production
    3 CORE 8.1.7.0.0 Production
    4 TNS for 32-bit Windows: Version 8.1.7.0.0 - Production
    5 NLSRTL Version 3.4.1.0.0 - Production
      

  4.   

    1、8i不支持字符自动转换为国家字符集,需要加N。
    insert into a(f) values(N'abc');
    但是在java中如何处理,不太清楚。
    项目中是否导入nls_charset12.jar包,如果没有,导入再试试。2、8i中最好使用varchar2来代替nvarchar2。
      

  5.   

    oracle的所有字符型都最好使用varchar2来替代......