/
Forside
/
Teknologi
/
Udvikling
/
Java
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Java
#
Navn
Point
1
molokyle
3688
2
Klaudi
855
3
strarup
740
4
Forvirret
660
5
gøgeungen
500
6
Teil
373
7
Stouenberg
360
8
vnc
360
9
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
Alle emner
Teknologi
Udvikling
Java
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177492
Tips :
31966
Nyheder :
719565
Indlæg :
6408466
Brugere :
218886
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.