Откат, если одна вставка не удалась, при использовании ScriptRunner «runScript» метод - PullRequest
0 голосов
/ 14 января 2020
Connection con = null;
    try {
        con = datasource.getConnection();

        ScriptRunner sr = new ScriptRunner(con);
        Reader reader = new BufferedReader(new FileReader("filePath");
        sr.runScript(reader);

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } finally {
        if (con!=null) try {con.close();}catch (Exception ignore) {}
    }

Выше приведен фрагмент, который я использую для выполнения файла сценария SQL.

Если у меня есть несколько вставок внутри скрипта, я хочу выполнить все вставки внутри транзакции, где в случае сбоя ничего не следует записывать в базу данных.

И я хочу обработать это из кода, а не из скрипта.

1 Ответ

0 голосов
/ 14 января 2020

Достигается это, если для параметра 'StopOnError' установлено значение true.

        ScriptRunner sr = new ScriptRunner(con);
        sr.setStopOnError(true);
...