这是上一个问题的后续问题-Not able to create database using stored procedure pyodbc SQL SERVER
在上一个问题中,我收到了一个ERROR_MESSAGE()
-
CREATE DATABASE statement not allowed within multi-statement transaction.
这可以通过在pyodbc中设置autocommit=True
来解决
import pyodbc
conn = pyodbc.connect("Driver={SQL Server};Server=SQL01;Trusted_Connection=yes;",autocommit=True)
#conn.autocommit = True
cursor=conn.cursor()
cursor.execute("""\
DECLARE @RC int
DECLARE @ClientName varchar(255)
SET @ClientName = 'Test2'
EXECUTE @RC = [test].[dbo].[ClientDBCreation] @ClientName
""")
conn.commit()
在创建'Test2'
数据库之后,[test].[dbo].[ClientDBCreation]
存储过程继续在新创建的Test2
数据库中创建一些存储过程。不会从pyodbc创建这些存储过程。你知道吗
在SSMS中,执行[test].[dbo].[ClientDBCreation]
可以完美地工作,并给出所需的结果。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐