Можно ли запускать команды оболочки linux через jdbc в коде java и как?
Я пытался это:
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://" + this.host + "/" + this.db + "?", properties);
statement = connect.createStatement();
String sql = "\\! touch /home/dbsms/testfile";
statement.execute(sql);
но я получаю "У вас есть ошибка в вашем синтаксисе SQL;" ошибка. Причина, почему я пытаюсь это:
Сервер MySQL работает на машине, которая находится в защищенной (без интернета) сети. Мое Java-приложение предназначено для управления БД. Это БД управления документами. Поэтому, как только новый документ вставлен в БД, я должен уведомить пользователей. В той же сети есть другая машина, которая может отправлять SMS. Мне нужно создать файл, содержащий текст SMS-сообщения и названный в качестве номера телефона, и демон на SMS-машине его подберет и обработает. Я знаю, что есть библиотеки, которые позволяют мне выполнять команду оболочки на удаленном компьютере через ssh, но я хотел бы использовать jdbc, если это возможно.