[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Weblogic, Windows 2000, Solaris and Oracle UTF8 Exception
Scott,
Did you change driver types? Different Oracle drivers have different
characteristics.
Randy
On 29 May 2001 12:45:38 -0400, Scott Rogers wrote:
> All,
>
> I am using an Oracle function to obfuscate some data. When I call the
> function from my Windows 2000 box running Weblogic6.0, it works fine.
>
> When I call the function from my Solaris box, I receive the following
> stacktrace:
>
> java.sql.SQLException: Fail to convert between UTF8 and UCS2: failUTF8Conv
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
> at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:775)
> at
> oracle.jdbc.dbaccess.DBConversion.failUTF8Conv(DBConversion.java:1746)
> at
> oracle.jdbc.dbaccess.DBConversion.utf8BytesToJavaChars(DBConversion.java:158
> 5)
> at
> oracle.jdbc.dbaccess.DBConversion.utf8BytesToString(DBConversion.java:1445)
> at
> oracle.jdbc.dbaccess.DBConversion.CharBytesToString(DBConversion.java:384)
> at
> oracle.jdbc.driver.OracleStatement.getStringValue(OracleStatement.java:2466)
> at
> oracle.jdbc.driver.OracleCallableStatement.getString(OracleCallableStatement
> .java:398)
>
>
> The source code is very simple:
>
> CallableStatement cstmt = null;
> cstmt = conn.prepareCall("{? = call a2wcrypto.decrypt(?,?)}");
>
> cstmt.setString(3,"asdfghjk");
> cstmt.registerOutParameter(1,Types.VARCHAR);
>
> data = StupidUtil.makeStringMultipleOfEightBytes(data);
> cstmt.setString(2,data); // data to encrypt/decrypt
>
> cstmt.execute();
>
> String result = cstmt.getString(1);
>
>
> Any ideas?
>
> Scott Rogers
>
>