Как я могу создать базу данных, используя pymssql - PullRequest
6 голосов
/ 29 марта 2012

Я пытаюсь создать базу данных, используя pymssql, и я получаю эту ошибку.

cur.execute("CREATE DATABASE %s;" % self.getsql('dbname'), conn)

дает

*** OperationalError: (226, 'CREATE DATABASE statement not allowed within multi-
statement transaction.DB-Lib error message 226, severity 16:\\nGeneral SQL Serve
r error: Check messages from the SQL Server\\n')

Что это значит ??

1 Ответ

8 голосов
/ 30 марта 2012

Проблема заключалась в том, что cur.execute запускает транзакцию каждый раз, но нельзя выполнить операцию «CREATE DATABASE» внутри транзакции

http://social.msdn.microsoft.com/Forums/pl/adodotnetdataproviders/thread/594ff024-8af6-40b3-89e0-53edb3ad7245

>>> connection.autocommit(True)
>>> cursor = connection.cursor()
>>> cursor.execute("CREATE DATABASE Foo")
>>> connection.autocommit(False)

Это работаетСтранно это не документировано в pymssql ... хммм

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...