在Azure SQL Data WareHouse中创建表的pyodbc错误

时间:2017-12-22 10:12:23

标签: python sql azure pyodbc

import pyodbc

sql = 'CREATE TABLE TestTable (TestID int,  TestDate datetime)'

con = pyodbc.connect(SQL Data WareHouse)
con.execute(sql)
con.commit()
con.close()

我收到了以下错误:

Traceback (most recent call last):
  File "sqlTest.py", line 24, in <module>
    con.execute(sql)
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]111212;Operation cannot be performed within a transaction. (111212) (SQLExecDirectW)')

我检查过上面的代码我可以使用INSERTDELETE查询,但我无法使用CREATETRUNCATE查询。我也通过使用SSMS检查了CREATETRUNCATE的权限。

是否可以在Azure SQL Data WareHouse中使用pyodbc创建表?

1 个答案:

答案 0 :(得分:3)

我可以使用自动提交使用CREATETRUNCATE查询。以下代码工作正常。

import pyodbc

sql = 'CREATE TABLE TestTable (TestID int,  TestDate datetime)'

con = pyodbc.connect(SQL Data WareHouse)
con.autocommit = True
con.execute(sql)
con.close()