J'essaie de créer une base de données SQL Server à l'aide de pyodbc."L'instruction CREATE ... n'est pas autorisée dans une transaction à plusieurs instructions" lors de l'utilisation de pyodbc
import pyodbc
server = 'AMR112\NAMED1'
database = 'msdb'
username = ''
password = 'mypassword'
abcd='yes'
ghi='False'
#driver = '{/usr/local/lib/libtdsodbc.so}' #for linux of windows
driver= '{ODBC Driver 13 for SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+';PORT=1433;SERVER='+server+??';PORT=1443;DATABASE??='+database+';UID='+??username+';PWD='+ password+';trusted_connection='+ abcd+'; autocommit='+ ghi) cursor = cnxn.cursor()
cursor.execute("create database dbafgh")
row = cursor.fetchone()
if row:
print row
cursor.close()
Il échoue avec cette erreur
instruction CREATE DATABASE pas autorisée dans les transactions multi-instruction
Il échoue parce que la méthode .execute
démarre une transaction et CREATE DATABASE
ne peut pas être exécuté dans un transaction.
Y a-t-il un autre moyen d'exécuter une commande CREATE DATABASE
en utilisant python?
Essayez [paramètre 'autocommit = True '] (http://stackoverflow.com/a/1064149/61305). –
Je viens d'essayer. Il ne fonctionne pas .. – userbb
essayé aussi. Il échoue – userbb