Ich versuche, ein wenig Code zu schreiben, der eine SQL-Datei (mehrere CREATE TABLE
Anweisungen getrennt durch ;
) liest und alle Anweisungen ausführt.SQL-Datei von Spring JDBC-Vorlage ausführen
In reiner JDBC, konnte ich schreiben:
String sqlQuery = "CREATE TABLE A (...); CREATE TABLE B (...);"
java.sql.Connection connection = ...;
Statement statement = connection.createStatement();
statement.executeUpdate(sqlQuery);
statement.close();
und beide (alle) bekamen die Anweisungen ausgeführt. Wenn ich im Frühling JdbcTemplate das gleiche mache, wird nur die erste Anweisung ausgeführt!
String sqlQuery = "CREATE TABLE A (...); CREATE TABLE B (...);"
org.springframework.jdbc.core.JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.execute(sqlQuery);
Gibt es eine Möglichkeit, mehrere Anweisungen auszuführen? Beim googlen fand ich nur Lösungen wie "split sqlQuery by ;
manuell" was natürlich nutzlos ist (es würde viel mehr Parsing erfordern).
es scheint zu funktionieren. Entfernt zwar Kommentare (welche SQLite als Beschreibung für Spalten behalten kann), aber das beunruhigt mich jetzt nicht so sehr. –
Gibt es Möglichkeiten, die Anzahl der Zeilen mit dieser executeSqlScript() -Methode zu ändern? – zygimantus
executeSqlScript sind jetzt veraltet. Irgendwelche Alternative? – Daniele