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 ..