在Azure SQL Data WareHouse中创建表的pyodbc错误[重复]

问题描述 投票:2回答:1
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创建表?

python sql azure pyodbc
1个回答
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()
© www.soinside.com 2019 - 2024. All rights reserved.