DB2 Express und JDBC

Status
Nicht offen für weitere Antworten.
S

spider_

Gast
Hallo,

ich habe ein paar Probleme mit DB2 Express und dem JDBC Treiber der da mitgeliefert wird. Zum einen scheint der Treiber den NULL Typ nicht zu unterstützen. Jedesmal wenn ich etwas wie:
Code:
 ...
 PreparedStatement pst = con.prepareStatement("...");
 pst.setNull(1, Types.NULL);
 ...
mache, kommt eine Exception mit der Meldung, dass der Typ 0 nicht unterstützt wird. Aber NULL Werte sind in meiner Datenbank unerläßlich, die braucht jede normale Datenbank nunmal.
Eine andere Sache, die ich mir leider auch nicht erklären kann, ist folgende: Ich setze in relativ kurzer Zeit (etwa jede Sekunde, aber nicht schneller) INSERT-Statements an die DB ab. Das funktioniert auch die erste Zeit. Doch nach einiger Zeit kommt eine SQLException mit folgender Meldung:
Code:
com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -805, SQLSTATE: 51002, SQLERRMC: NULLID.SYSLH203 0X5359534C564C3031
Der DB2 SQLState 805 hat folgende Bedeutung:
Code:
bash# db2 ? sql0805
SQL0805N Paket "<name-des-pakets>" nicht gefunden.  

Erklärung: 

Die Anweisung kann nicht beendet werden, da das erforderliche 
Paket im Katalog nicht gefunden wurde.  
 ...
Das seltsame dabei ist, dass die Exception erst nach einiger Zeit kommt - und die Anweisung sich ja nicht ändert. Das Programm scheint die Verbindung zur Datenbank "verloren" zu haben.
Hat jemand vielleicht eine Idee, woran das liegen könnte. Hab schon viel gegoogled, aber nichts gefunden, was mich weiter gebracht hat.
Vielen Dank schonmal
Eike
 

semi

Top Contributor
Du musst schon den konkreten Typen des entsprechenden Parameters
verwenden.
z.B. bei einem Double-Parameter
Code:
pst.setNull(1, Types.DOUBLE);
Schreib dir am besten eine Hilfsklasse, die das ganze in der Anwendung vereinfacht bzw. verkürzt.
Code:
public static void setValue(PreparedStatement ps, int col, String value) throws SQLException
{
  if (value == null)
    ps.setNull(col,Types.VARCHAR);
  else
    ps.setString(col,value);
}

public static void setValue(PreparedStatement ps, int col, Double value) throws SQLException
{
  if (value == null)
    ps.setNull(col,Types.Double);
  else
    ps.setDouble(col,value.doubleValue());
}

usw. mit anderen Typen
Anwendung z.B.
Code:
int column = 1;
DBUtil.setValue(pst, column++, artikel.getBezeichnung());
DBUtil.setValue(pst, column++, artikel.getPreis());
Gleiches dann in umgekehrter Richtung, beim Lesen aus ResultSet.
 
S

spider_

Gast
Ah, vielen Dank!!!

Ich hatte mich nämlich auch schon gefragt, wieso ich denn bei der Methode setNull() den Typ Types.NULL mit angeben muss... weil, steht ja schon da So ist das jetzt auch beantwortet ;-)
Ich hatte vor einiger Zeit mit MySQL zu tun, und da hat das wie oben beschrieben funktioniert.


Das andere Problem fühlt sich irgendwie auch gelöst an: Ich habe mal wieder über den Quellcode geschaut und festgestellt ( :roll: ) das ich da ganz schönen unsinn gemacht habe (viele dieser computer-probleme befinden sich halt zwischen tastatur und stuhl...). Die Methode, die auf der DB rummacht, erstellt jedes mal neu das PreparedStatement.... und die habe ich jede Sekunde mehrere Stunden lang aufgerufen, wodurch der Sinn des PreparedStatements dahin ist. Seit ich das geändert habe, ist die Fehlermeldung nicht mehr gekommen. Das Problem ist nur, dass sie halt auch vorher nicht immer kam, wodurch ich jetzt nicht zu 100% sagen kann, das es daran lag - ich denke aber, das es das war... werde davon berichten, falls sie nochmal auftaucht... :?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Oracle Express 10g mit JDBC Datenbankprogrammierung 3
mihe7 MSSQL Express als Kommunikationsmedium Datenbankprogrammierung 8
S E(fx)clipse Verbindung zu MS SQL Express aufbauen Datenbankprogrammierung 7
S DB2 Express C - keine Verbindung zur Datenbank Datenbankprogrammierung 2
R MS-SQL Express Login-Problem Datenbankprogrammierung 8
A Probleme mit auf DB2 Express zugreiffen Datenbankprogrammierung 6
Landei MsSql Express Server 2008 Datenbankprogrammierung 8
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
S MS SQL 2005 Express Edition - 4GB DB-Limit Datenbankprogrammierung 6
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
K JDBC via Netzwerk Datenbankprogrammierung 4
B JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
B JDBC MySQL Statement Datenbankprogrammierung 3
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
V PostgreSQL JDBC Treiber fehlt Datenbankprogrammierung 6
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
C JDBC , JDO oder JPA Datenbankprogrammierung 17
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
K JDBC Buch kaufen? Datenbankprogrammierung 3
K Hibernate vs. JDBC Datenbankprogrammierung 4
K JDBC Driver not found Datenbankprogrammierung 10
GianaSisters Per JDBC auf Microsoft SQL 2005 Datenbankprogrammierung 24
S ich brauche tipps für JDBC Datenbankprogrammierung 4
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
S Applet stucks at SQL Connection (jTDS JDBC) Datenbankprogrammierung 15
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
c_sidi90 JDBC Oracle Connection schlägt fehl Datenbankprogrammierung 2
J jdbc-dataSource in Klassen nutzen Datenbankprogrammierung 2
H Rechnen in Datenbanken - JDBC Mittel der Wahl? Datenbankprogrammierung 32
K MySQL JDBC - Access Datenbank - unbekannter TabellenName Datenbankprogrammierung 4
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
J MySQL Verbindung über JDBC scheitert immer Datenbankprogrammierung 2
I Master/Detail Tabellen mit JDBC und Swing Datenbankprogrammierung 10

Ähnliche Java Themen

Neue Themen


Oben