java.sql.SQLException: Non supported character set: oracle-character-set-1

  • From: "Sandra Becker" <sbecker6925@xxxxxxxxx>
  • To: Oracle-L <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 19 Jan 2007 07:46:34 -0700

I got stuck with this problem because the error has the word SQL and oracle
in it so everyone assumes it's an Oracle issue.  I know nothing about Java
which is hampering my research of the problem.

Background>>
We have a file daemon that is started on both production and test servers to
process input files from our customers.  The file processes correctly on
production; it does not process at all on test.
When the developer processes it from her OS login on test, it works.

When the production file was processed it was initially to the database on
an RHEL3, Oracle 9.2.0.5 platform; test is still that platform.  Files
continue to be processed correctly on the new production platform RHEL4,
Oracle 9.2.0.8.

Error stack from Java:
2007-01-11 10:30:42,089 [Thread-0] INFO  daemon.infiledaemon  - Polling
csfile customer directories.
2007-01-11 10:30:42,424 [Thread-0] INFO  daemon.infiledaemon  - Polling
rtfile customer directories.
2007-01-11 10:30:42,793 [Thread-0] INFO  code.CodeProcessor  - rtfile file
'testSign' received from TO.
2007-01-11 10:30:42,925 [Thread-0] ERROR code.CodeProcessor  -
java.sql.SQLException: Non supported character set: oracle-character-set-1
java.sql.SQLException: Non supported character set: oracle-character-set-1
       *at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
*        at oracle.sql.CharacterSetUnknown.failCharsetUnknown(
CharacterSetFactoryThin.java:171)
       at oracle.sql.CharacterSetUnknown.convert(
CharacterSetFactoryThin.java:135)
       at oracle.sql.CHAR.<init>(CHAR.java:159)
       at oracle.sql.CHAR.<init>(CHAR.java:183)
       at oracle.jdbc.oracore.OracleTypeCHAR.toDatum(OracleTypeCHAR.java
:161)
       at oracle.jdbc.oracore.OracleType.toDatumArray(OracleType.java:166)
       at oracle.jdbc.oracore.OracleTypeCHAR.toDatumArray(
OracleTypeCHAR.java:208)
       at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java
:1517)
       at oracle.sql.ARRAY.<init>(ARRAY.java:132)
       at tz.jdbc.ArrayFactory.getString(ArrayFactory.java:39)
       at tz.daemon.code.CodeProcessor.insertrtfile(CodeProcessor.java
:1045)
       at tz.daemon.code.CodeProcessor.createDoc(CodeProcessor.java:828)
       at tz.daemon.code.CodeProcessor.endrtfile(CodeProcessor.java:548)
       at tz.daemon.code.CodeParser.parse(CodeParser.java:180)
       at tz.daemon.code.CodeProcessor.processFile(CodeProcessor.java:363)
       at tz.daemon.infiledaemon.processFile(infiledaemon.java:390)
       at tz.daemon.infiledaemon.pollInbox(infiledaemon.java:339)
       at tz.daemon.infiledaemon.run(infiledaemon.java:241)


<<
The scripts that set the environment for the daemon startup are complex and
have a lot of garbage in them so it's taking me some time to troll through
them.  I believe that there must be some difference in the way the test
daemon is started--environment setup, additional or different scripts called
by primary script, etc.--vs. the way the production daemon is started.  From
my reading, I suspect that the NLS error I highlighted above is where I
should focus.

Am I on the right track or going down a the wrong path?  Metalink hasn't bee
much help so far.  Any insights will be appreciated.  Thank you.

Sandy

Other related posts: