2012-03-29 40 views
0

e配置为java 1.5,oracle 11g和tomcat 5服务器运行并获取如下所述的异常。任何解决方案将是有益的:java/oracle异常 - 不支持的字符集

user_lname=TEST LAST NAME,email=,usertypes=BILLER|MS_ACCT_ASSOCIATE|PILOT,hr_org_code=,sales_cbu=,sales_team=) from request headers] ==> 2012-03-29 11:09:04,602 (+00:00:00,039) - NDC = [<mrsxport,EMETERS1,1A48AA5D84E103C1BFD9382966CBA316>] 
==> 2012-03-29 11:09:04,603 (+00:00:00,040) - requestURL = [] 
    Error Message: Unexpected exception during generic page setup! 
        An exception occurred while execute the [get_header_data] CallableStatementProcedure! 
        **java.sql.SQLException: Non supported character set: oracle-character-set-178** 
         at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46) 
         at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactoryThin.java:171) 
         at oracle.sql.CharacterSetUnknown.toString(CharacterSetFactoryThin.java:128) 
         at oracle.xdb.XMLType.processString(XMLType.java:1101) 
         at oracle.xdb.XMLType.processThin(XMLType.java:1136) 
         at oracle.xdb.XMLType.<init>(XMLType.java:541) 
         at oracle.xdb.XMLType.createXML(XMLType.java:344) 
         at com.xerox.xcs.common.ssf.procmgr.jdbc.CallableStatementProcedure.generateXMLOutputParameter(CallableStatementProcedure.java:751) 
         at com.xerox.xcs.common.ssf.procmgr.jdbc.CallableStatementProcedure.generateXMLResponse(CallableStatementProcedure.java:696) 
         at com.xerox.xcs.common.ssf.procmgr.jdbc.CallableStatementProcedure.getNewContent(CallableStatementProcedure.java:406) 
         at com.xerox.xcs.common.ssf.procmgr.jdbc.CallableStatementProcedure.execute(CallableStatementProcedure.java:220) 
         at com.xerox.xcs.common.ssf.procmgr.jdbc.CallableStatementProcedure.execute(CallableStatementProcedure.java:147) 
         at com.xerox.xcs.mrsxport.struts.AbstractGotoPageAction.getHeaderData(AbstractGotoPageAction.java:156) 
         at com.xerox.xcs.mrsxport.struts.AbstractGotoPageAction.execute(AbstractGotoPageAction.java:76) 
         at com.xerox.xcs.mrsxport.struts.GotoViewHistoryPageAction.execute(GotoViewHistoryPageAction.java:64) 
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421) 
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226) 
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) 
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) 
         at com.xerox.xcs.common.web.struts.SSFBaseActionServlet.doGet(SSFBaseActionServlet.java:189) 
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:627) 
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) 
         at org.apache.catalina.core.Appl 
+0

我在mysql上看到过类似的东西。我试图将希伯来字符存储到文本和varchar字段中,并且出现了非法字符集异常。修复是为我的列设置字符集,并且(我认为)为数据库设置默认字符集。 – ControlAltDel 2012-03-29 18:26:19

+0

尝试设置NLS_LANG – elrado 2012-03-29 18:44:10

回答

0

什么是数据库字符集和国家字符集

SELECT * 
    FROM v$nls_parameters 
WHERE parameter LIKE '%CHARACTERSET' 

,你想什么样的数据存储和/或检索(即英语,希伯来语,日语等)?什么是页面的字符集?

+0

查询GAVE结果 – kumar 2012-03-30 04:49:01

+0

查询结果: “NLS_CHARACTERSET WE8MSWIN1252 \t NLS_NCHAR_CHARACTERSET AL16UTF16 \t” 并给了异常的行是: “如果(type.startsWith(” OracleTypes“)){ 如果(类型。等于(“OracleTypes.OPAQUE:SYS.XMLTYPE”)){OPAQUE opaque = cstmt.getOPAQUE(pos);“ 代码之前在java1.4和oracle 10g中开发,现在我们正在迁移到oracle 11g和java5 – kumar 2012-03-30 04:56:07

+0

@Sachi - 旧的10g数据库的字符集和国家字符集是什么?您试图存储的XML文件的编码是什么? – 2012-03-30 04:57:27