ORA-10841: Default un-inintialized charact set form to SQLCS_IMPLICIT
Cause: client side, such as JDBC-THIN 8i client sends 0 as charset form
Action: This event sets charset form as SQLCS_IMPLICIT when it is 0
ORA-10841错误属于数据库错误,标识当Character Set Form将无效的,默认的charactersetform设置为SQLCS_IMPLICIT。当引用表的字符集与当前会话不一致时,就会产生ORA-10841错误,处理方法就是将charactersetform更改为SQLCS_NCHAR,比如:
ALTER DATABASE NATIONAL CHARACTER SET AL16UTF16 ALTER SESSION SET NLS_CHARACTERSET FORM = SQLCS_NCHAR;
1. 确定表使用的字符集和当前会话使用字符集是否不同。
2. 使用ALTER SESSION语句,将当前会话的Character Set Form更改为SQLCS_NCHAR,然后再执行操作。
3. 确保以后操作的字符集是相同的,即使用ALTER DATABASE语句设置恰当的NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET参数值,也就是所有表当中提到的字符集都是一样的,这样就能够避免ORA-10841错误出现。