2009-04-10 5 views
0

まず、少し背景がありますが、私はjdk 1.6を使用しています。 Oracle 8i DBに2列の表があり、非常にシンプルなコードをワードマップに格納しています。奇妙な文字はありません。どちらの列もvarcharです。私は、次のコマンドを実行したときに、私のデスクトップマシンからサーブレットからOracle 8iのテーブルにアクセスする際の異常な動作

、:

 OracleDataSource ods = new OracleDataSource(); 

     ods.setDriverType("thin"); 
     ods.setServerName("DBserver.db"); 
     ods.setDatabaseName("DB"); 
     ods.setPortNumber(1527); 
     ods.setUser("user"); 
     ods.setPassword("password"); 

     Connection connection = ods.getConnection(); 
     Statement stmt = connection.createStatement(); 
     ResultSet res = stmt.executeQuery(SQL); 

     CachedRowSet crs = new CachedRowSetImpl(); 
     crs.populate(res); 
     while (crs.next()) { 
      System.out.println("ID: " + crs.getString(1) + 
           ", Name: " + crs.getString(2)); 
     } 

すべてが正常に動作し、私は私が期待する結果を得る(のgetString用の両方の戻り値は、(1)とのgetString(2)正確にしています彼らはもつとも

)テーブルに格納されているとおり、私はTomcatサーバ上に座って、サーブレットでまったく同じコードを実行すると

(私はテーブルにアクセスするために、簡単なアプレットサーブレット・モデルを使用していますし、アプレットへの応答を返します)、crs.getString(int)は0x53、0x54、0x4Eなどの文字列を返します。

私はこれが何を意味しているのかよく分かりません。ご協力いただき、ありがとうございます。問題のトラブルシューティングを開始する場所が不思議です。

+0

Oracle 8iは10歳ですが、完璧なサポートは期待できません。 – tuinstoel

答えて

1

Oracle 8iは非常に古いです。私は1999年か2000年を信じています。あなたのjdkとTomcatとOracleとJDBCの組み合わせは認定/サポートされていますか?

+0

あなたは正しいと思われます。 Oracle 9iへの変更は魅力的に機能しました。私の推測では、jdk、tomcatとoracleの組み合わせは良いものではありませんでした。ありがとう! – Pol

関連する問題