Выполнение .sql MySQL использования сценария с JDBC

Вы можете загрузить портативный архив Zulu .zip от Azul Systems, который является сборкой OpenJDK для Windows, Linux (RHEL, SUSE, Debian, Ubuntu, CentOS) и Mac OS X.

Zulu - это сертифицированная сборка OpenJDK, полностью соответствующая стандарту Java SE. Zulu на 100% с открытым исходным кодом и свободно загружается. Теперь разработчики Java, системные администраторы и конечные пользователи могут пользоваться всеми преимуществами Java с открытым исходным кодом, гибкостью развертывания и контролем времени обновления.

Дополнительная техническая информация о различных JVM (включая Zulu) с их архитектурой и поддержкой ОС здесь .

66
задан Peter Mortensen 25 July 2010 в 00:59
поделиться

4 ответа

Хорошо. Вы можете использовать этот класс здесь (размещен на pastebin из-за длины файла) в своем проекте. Но не забудьте сохранить информацию о лицензии apache.

JDBC ScriptRunner

Это копирование iBatis ScriptRunner с удаленными зависимостями.

Вы можете использовать его вот так

Connection con = ....
ScriptRunner runner = new ScriptRunner(con, [booleanAutoCommit], [booleanStopOnerror]);
runner.runScript(new BufferedReader(new FileReader("test.sql")));

Вот и все!

71
ответ дан 24 November 2019 в 14:59
поделиться

Записать код в:

  1. Прочитать файл, содержащий несколько операторов SQL.
  2. Запустить каждый оператор SQL.
1
ответ дан 24 November 2019 в 14:59
поделиться

На самом деле нет способа сделать это.

Вы можете запустить клиент командной строки mysql через Runtime.exec (String []) и прочитать эту статью , когда вы выберете эту опцию

Или попробуйте использовать ScriptRunner (com.ibatis.common.jdbc.ScriptRunner) из ibatis . Но немного глупо включать целую библиотеку только для запуска скрипта.

0
ответ дан 24 November 2019 в 14:59
поделиться

Для Oracle PL / SQL драйвер Oracle JDBC действительно поддерживает выполнение всех сценариев SQL, включая хранимые процедуры и анонимные блоки (обозначение, специфичное для PL / SQL), см.

Могут ли драйверы JDBC получить доступ к хранимым процедурам PL / SQL?

В FAQ по драйверам Oracle JDBC есть дополнительная информация:

Драйверы Oracle JDBC поддерживают выполнение хранимых процедур PL / SQL и анонимные блоки. Они поддерживают оба Синтаксис экранирования SQL92 и Oracle PL / SQL синтаксис блока. Следующий PL / SQL вызовы будут работать с любым Oracle JDBC драйвер:

// SQL92 syntax
CallableStatement cs1 = conn.prepareCall
                       ( "{call proc (?,?)}" ) ; // stored proc
CallableStatement cs2 = conn.prepareCall
                       ( "{? = call func (?,?)}" ) ; // stored func
// Oracle PL/SQL block syntax
CallableStatement cs3 = conn.prepareCall
                       ( "begin proc (?,?); end;" ) ; // stored proc
CallableStatement cs4 = conn.prepareCall
                       ( "begin ? := func(?,?); end;" ) ; // stored func

Должна быть предусмотрена возможность чтения файла и передачи содержимого методу prepareCall ().

1
ответ дан 24 November 2019 в 14:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: