Jaydebeapi только исключения из первого оператора в Cursor.execute ⇐ Python
-
Anonymous
Jaydebeapi только исключения из первого оператора в Cursor.execute
Я подключаюсь к SQL-серверу из Python, используя jaydebeapi. При выполнении нескольких SQL-операторов, разделенных ;, в одном Cursor.execute-вызове только ошибки из первого заявление выброшено. Это означает: при беге
curs.execute(""" правильный/успешный оператор вставки; вставить оператор, нарушающий внешний ключ; """) нет Ошибка выдается. Как заставить jaydebeapi или SQL-сервер останавливаться при ошибке?
Один из вариантов — использовать несколько вызовов jaydebeapi.Cursor.execute, т.е.
curs.execute("корректный/успешный оператор вставки") curs.execute("Вставьте оператор, нарушающий внешний ключ;") В моей ситуации это сложно, так как мне нужно выполнить полный SQL-файл, содержащий символы новой строки и точки с запятой в кавычках. Обертывание внутри транзакции (с помощью SET XACT_ABORT ON) не работает: хотя транзакция, конечно, не выполняется, ошибка Python не выдается, и я не смог получить доступ к каким-либо сообщениям об ошибках в jaydebeapi.Курсор.
Я подключаюсь к SQL-серверу из Python, используя jaydebeapi. При выполнении нескольких SQL-операторов, разделенных ;, в одном Cursor.execute-вызове только ошибки из первого заявление выброшено. Это означает: при беге
curs.execute(""" правильный/успешный оператор вставки; вставить оператор, нарушающий внешний ключ; """) нет Ошибка выдается. Как заставить jaydebeapi или SQL-сервер останавливаться при ошибке?
Один из вариантов — использовать несколько вызовов jaydebeapi.Cursor.execute, т.е.
curs.execute("корректный/успешный оператор вставки") curs.execute("Вставьте оператор, нарушающий внешний ключ;") В моей ситуации это сложно, так как мне нужно выполнить полный SQL-файл, содержащий символы новой строки и точки с запятой в кавычках. Обертывание внутри транзакции (с помощью SET XACT_ABORT ON) не работает: хотя транзакция, конечно, не выполняется, ошибка Python не выдается, и я не смог получить доступ к каким-либо сообщениям об ошибках в jaydebeapi.Курсор.