2009-04-10 18 views
0

Zuerst ein wenig Hintergrund, ich benutze jdk 1.6. Ich habe eine 2-Spalten-Tabelle in einer Oracle 8i DB, die einen sehr einfachen Code für Word-Map enthält. Es gibt keine merkwürdigen Charaktere. Beide Spalten sind Varchar.Seltsames Verhalten beim Zugriff auf Oracle 8i Tabelle von Servlet

Von meinem Desktop-Rechner, wenn ich die folgenden ausführen:

 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)); 
     } 

Alles funktioniert gut, und ich bekomme die Ergebnisse I (beiden Rückgabewerte für getString erwarten (1) und getString (2) sind genau wie sie in der Tabelle gespeichert sind)

JEDOCH:

Wenn ich exakt das gleiche Code in einem Servlet auf einem Tomcat-Server ausführen sitzen (ich bin ein einfaches Applet-Servlet-Modell auf die Tabelle zuzugreifen und gibt eine Antwort an das Applet zurück), crs.getString (int) gibt Strings wie 0x53, 0x54, 0x4E und so weiter zurück.

Ich bin mir nicht sicher, was das bedeutet, und wäre für jede Hilfe dankbar. Ich frage mich, wo ich anfangen soll, das Problem zu beheben.

+0

Oracle 8i ist zehn Jahre alt, erwarte keine perfekte Unterstützung. – tuinstoel

Antwort

1

Oracle 8i ist sehr alt. Ich glaube 1999 oder 2000. Ist deine Kombination aus jdk und Tomcat und Oracle und JDBC zertifiziert/unterstützt?

+0

Es scheint, dass Sie richtig sind. Der Wechsel zu Oracle 9i funktionierte wie ein Zauber. Meine Vermutung, die Mischung aus Jdk, Kater und Orakel war nicht gut. Vielen Dank! – Pol