2012-03-29 64 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