tsb*_*ken 2 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()
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
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)')
Run Code Online (Sandbox Code Playgroud)
我检查了我可以通过上面的代码使用INSERT和DELETE查询,但我不能使用CREATE和TRUNCATE查询。我检查有许可CREATE和TRUNCATE使用SSMS了。
是否可以在 Azure SQL 数据仓库中使用 pyodbc 创建表?
我可以通过使用自动提交来使用CREATE和TRUNCATE查询。以下代码工作正常。
import pyodbc
sql = 'CREATE TABLE TestTable (TestID int, TestDate datetime)'
con = pyodbc.connect(SQL Data WareHouse)
con.autocommit = True
con.execute(sql)
con.close()
Run Code Online (Sandbox Code Playgroud)