Я пишу приложение, которое имеет слой доступа к данным для абстрагирования базовых соединений с базами данных SQLITE3 или MySQL.
Вчера, благодаря некоторой помощи, мне показали, как использовать построитель процессов для запускаимпорт командной строки в базу данных SQLITE3 с использованием перенаправления вывода.
Теперь я пытаюсь создать ту же базу данных, но в MySQL, импортировав файл дампа.Загрузка работает нормально из командной строки клиента.Я просто сообщаю ему исходный файл, и БД успешно создается.
Однако я пытаюсь сделать это с помощью кода во время выполнения, и мой метод выполнения оператора SQL не может выполнить команду источника.
Я подозреваю, что это потому, что "source" - это не SQL, но я не знаю, что еще можно использовать для его запуска.
Мое сообщение об ошибке:
java.sql.SQLSyntaxErrorException: 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 'source /tmp/ISMCoreActionPack_mysql.sql' at line 1
Ошибка командной строки:
source /tmp/ISMCoreActionPack_mysql.sql;
Мой метод:
public Boolean executeSqlStatement(String sql) {
Boolean rc = false;
try {
Connection connection = getConnection();
Statement statement = connection.createStatement();
rc = statement.execute(sql);
connection.close();
} catch (SQLException e) {
e.printStackTrace();
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(1);
}
return rc;
}
Кто-нибудь может подсказать, как это сделать?