also, ich brauche vor einem Insert bestimmte Einstellungen, die nachher zurückgesetzt werden,
dafür hab ich mitm JAva ein Funtion ertstellt , die mit derselben Conn. , mit auch der Insert läuft,
die Einstellungen setzen soll, seht selbst :
Obwohl ich die SET-Anweisungen einem Skript entnommen habe, das mit sqldump erzeugt wurde, wirft Java immer einen SQL-Fehler :
ttsp_func_data run_set_scripts modus PRE Fehler : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET FOREIGN_KEY_CHECKS = 0' at line 1
was soll daran falsch sein ?
in der MySQL-Workbench wirft SET FOREIGN_KEY_CHECKS = 0 auch keinen Fehler, wirkt sich aber auch nicht aus.
Derzeit schreibt das Programm nur 10 von 109 Zeilen in die Zieldatei, nicht der wahre Jakob
was tun, sprach Zeus ..
dafür hab ich mitm JAva ein Funtion ertstellt , die mit derselben Conn. , mit auch der Insert läuft,
die Einstellungen setzen soll, seht selbst :
Code:
private static void run_set_scripts(Connection cn_sp,String modus)
{
//-Einstellungen mittels SET-Kommando --
String set_sql = "";
if(modus.startsWith("PRE"))
{
set_sql = "SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;";
//set_sql += "SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS;";
set_sql += "SET FOREIGN_KEY_CHECKS = 0;";
}
if(modus.startsWith("POST"))
{
//set_sql = "SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;";
set_sql = "SET FOREIGN_KEY_CHECKS = 1;";
set_sql += "SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;";
}
try
{
cn_sp.setAutoCommit(true);
Statement stmt = cn_sp.createStatement();
stmt.executeUpdate(set_sql);
System.out.println("ttsp_func_data run_set_scripts modus "+modus+" set_sql : "+set_sql+" ausgefuehrt !");
}
catch (Exception e)
{
System.err.println("ttsp_func_data run_set_scripts modus "+modus+" Fehler : "+e.getMessage());
//e.printStackTrace();
}
}
Obwohl ich die SET-Anweisungen einem Skript entnommen habe, das mit sqldump erzeugt wurde, wirft Java immer einen SQL-Fehler :
ttsp_func_data run_set_scripts modus PRE Fehler : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET FOREIGN_KEY_CHECKS = 0' at line 1
was soll daran falsch sein ?
in der MySQL-Workbench wirft SET FOREIGN_KEY_CHECKS = 0 auch keinen Fehler, wirkt sich aber auch nicht aus.
Derzeit schreibt das Programm nur 10 von 109 Zeilen in die Zieldatei, nicht der wahre Jakob
was tun, sprach Zeus ..