Hallo zusammen,
habe mittlerweile n bisschen rumgegooglet und nach Informationen für mein Problem gesucht, jedoch leider nichts gefunden.
Es geht um die Umstellung von AS400 auf Postgresql und die Probleme, die daraufhin auftreten.
In meinem Code ging es bisher lediglich darum, Name und Typ der Spalten auszulesen und in eine Hashtable zu speichern. Hatte bis jetzt auch einwandfrei funktioniert:
Jetzt habe ich jedoch das Problem, dass ich beim Wechsel auf eine Postgresql-DB folgende Exception ausgeschmissen bekomme:
[WR]org.postgresql.util.PSQLException: Unzulässiger Wert für den Typ int : 7000000024.
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toInt(AbstractJdbc2ResultSet.java:2504)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:1988)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:2211)[/WR]
Die Exception bezieht sich auf diese Codezeile:
Anscheinend gibts ein Problem mit den Meta-Funktionen bei Postgre, jedoch weiß ich einfach nicht, was genau der Rechner von mir hören will, damit es funktioniert
Falls noch irgendwelche Informationen fehlen sollten, einfach schreien ^^
mfg static
[EDIT: So im Nachhinein fällt mir auf, dass der Bereich "Netzwerkprogrammierung" doch nicht so der passendste war, sorry dafür:/]
habe mittlerweile n bisschen rumgegooglet und nach Informationen für mein Problem gesucht, jedoch leider nichts gefunden.
Es geht um die Umstellung von AS400 auf Postgresql und die Probleme, die daraufhin auftreten.
In meinem Code ging es bisher lediglich darum, Name und Typ der Spalten auszulesen und in eine Hashtable zu speichern. Hatte bis jetzt auch einwandfrei funktioniert:
Java:
ResultSetMetaData rsMeta = rs.getMetaData();
for(int i = 0; i < rsMeta.getColumnCount(); i++)
{
if(!threadActive){return;} // Abbruch, wenn threadActive false gesetzt wird
// Überprüfung des Datentyps aller Sätze (NUMERIC = LONG, VARCHAR = STRING)
int type = rsMeta.getColumnType(i+1);
String name = rsMeta.getColumnName(i+1);
// TYPE_VALUES: NUMERIC = 1, CHAR = 2
switch(type)
{
case Types.CHAR : hash.put(name, rs.getString (name).trim()); break;
case Types.NUMERIC : hash.put(name, rs.getInt (name)); break;
}
}
Jetzt habe ich jedoch das Problem, dass ich beim Wechsel auf eine Postgresql-DB folgende Exception ausgeschmissen bekomme:
[WR]org.postgresql.util.PSQLException: Unzulässiger Wert für den Typ int : 7000000024.
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toInt(AbstractJdbc2ResultSet.java:2504)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:1988)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:2211)[/WR]
Die Exception bezieht sich auf diese Codezeile:
Java:
int type = rsMeta.getColumnType(i+1);
Anscheinend gibts ein Problem mit den Meta-Funktionen bei Postgre, jedoch weiß ich einfach nicht, was genau der Rechner von mir hören will, damit es funktioniert
Falls noch irgendwelche Informationen fehlen sollten, einfach schreien ^^
mfg static
[EDIT: So im Nachhinein fällt mir auf, dass der Bereich "Netzwerkprogrammierung" doch nicht so der passendste war, sorry dafür:/]
Zuletzt bearbeitet: