从pyodbc调用时,CREATE PROCEDURE静默失败

时间:2019-07-23 08:23:18

标签: python pyodbc

我无法使用Python的pyodbc创建SQL Server存储过程。该命令正确执行,但没有收到错误消息,但是该存储过程未出现在服务器上

import pyodbc

host = 'myServer'
database = 'model'
conn = pyodbc.connect(
        r'DRIVER={SQL Server Native Client 11.0};' +
        r'SERVER=' + host + ';' +
        r'DATABASE=' + database + ';' +
        r'Trusted_Connection=yes'
    )
cursor = conn.cursor()

sql = """
        CREATE OR ALTER PROCEDURE [dbo].[Test] AS 
        SELECT 1  
        """
cursor.execute(sql)
conn.close()

1 个答案:

答案 0 :(得分:0)

pyodbc连接默认为禁用自动提交,如Python的DB API 2.0 spec中所指定。在这种模式下,必须通过在Connection上调用commit()来提交对数据库的任何更改。

如果要启用自动提交功能的连接,请参阅this answer了解详情。