/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Danske bogstaver i oracle clob
Fra : Tobias Kjær Tobiasen


Dato : 04-02-03 12:00

Hejsa

Jeg forsøger at gemme en lang tekst i en oracle database 9i via JDBC.
Teksten indeholder danske bogstaver (æøå). Teksten er over 5000 tegn. Som
kolone type bruger jeg clob. Se min nuværende kode nedenfor. Det virker
fint med lange tekster. Men det giver en exception hvis jeg forsøger at
gemme strengen "ø".

Er der nogen som har erfaring med at gemme lange tekster i oracle?

T2K

Kode:
PreparedStatement ps = connection.prepareStatement("insert into Tester (a)
VALUES (?)");
oracle.sql.CLOB clob = oracle.sql.CLOB.createTemporary(connection, true,
oracle.sql.CLOB.DURATION_SESSION);
Writer writer = clob.getCharacterOutputStream();
try {
writer.write(myString);
writer.close();
}
catch (IOException e) {
throw new RethrownExceptionAsRuntimeException(e);
}
ps.setClob(1, clob);
ps.executeUpdate();

Exception:
java.sql.SQLException: No more data to read from socket
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:369)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)

at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)

at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)

at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at Tester.main(Tester.java:39)


 
 
Søg
Reklame
Statistik
Spørgsmål : 177492
Tips : 31966
Nyheder : 719565
Indlæg : 6408466
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste