G
Guest
Gast
Hallo, hab folgendes Problem. Ich habe zwei Datenbanken. Einmal Postgres und die andere ist MySQL. In der Postgres DB habe ich eine Tabelle deren Inhalt ich in die MySQL Tabelle übernehmen möchte. Das ist der Code den ich geschrieben hab. Das Problem ist aber, wenn in der Postgres DB ein "NULL-WERT" steht, dann speichert er in die MySQL DB den NULL-Wert als String. Der Grund liegt in der INSERT-Anweisung, da ich dort die Werte in Anführungszeichen setze. Ich will dass er die NULL-Werte nicht als String in der DB speichert. Was muss ich tun?
Ich hoffe ich habe mich verständlich ausgedrückt.
Ich hoffe ich habe mich verständlich ausgedrückt.
Code:
import java.sql.*;
public class DB{
private ResultSet rSet_mysql;
private ResultSet rSet;
public void fetchFromPostgres(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println("Fehler bei ODBC-JDBC-Bridge"+e);
}
try{
Connection con= DriverManager.getConnection("jdbc:odbc:PostgreSQL","postgres","postgres");
Statement an=con.createStatement();
rSet=an.executeQuery("SELECT * FROM testtable");
write(rSet);
an.close();
con.close();
}catch(SQLException s){
System.out.println(s.getMessage());
}
}
public void writeInMysql(ResultSet rSet){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println("Fehler bei ODBC-JDBC-Bridge"+e);
}
try{
Connection con_mysql=DriverManager.getConnection("jdbc:odbc:mysql","test","test");
Statement an=con_mysql.createStatement();
while (rSet.next()){
an.executeUpdate("INSERT INTO testtable VALUES ('"+rSet.getString(1)+"')");
}
an.close();
con_mysql.close();
}catch(SQLException s){
System.out.println(s.getMessage());
}
}
public static void main(String[]args){
DB d=new DB();
d.fetch();
}
}