SQL Server:从python调用时存储过程不工作

2024-09-29 23:24:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为Points的简单表,有两列QuestionIDUserID

QuestionID  UserID
-------------------
5            2
6            1

我编写了一个存储过程来将数据插入此表:

CREATE PROCEDURE [dbo].[SetPoints] 
     @QuestionID INT, 
     @UserID INT 
AS
     INSERT INTO dbo.Points (QuestionID, UserID)
     VALUES (@QuestionID, @UserID)

我执行了这个程序,看起来效果很好

然后我编写了Python代码来连接到这个数据库并执行这个过程

import pyodbc as po
    
# Connection variables
server = '################'
database = '#############'
username = '#############'
password = '################'
    
# Connection string
cnxn = po.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=' +
            server+';DATABASE='+database+';UID='+username+';PWD=' + password)
cursor = cnxn.cursor()

# Prepare the stored procedure execution script and parameter values
storedProc = "EXEC SetPoints @QuestionID = ?, @UserID = ?"
params = (2, 3)
    
# Execute stored procedure with parameters
cursor.execute(storedProc, params)

# Close the cursor and delete it
cursor.close()
del cursor
    
# Close the database connection
cnxn.close()

当我运行Execute时,Python代码不会显示任何错误,但是如果我检查Points表,则不会插入任何内容

谁能告诉我发生了什么事?该过程在SSMS中运行良好,但当我从Python执行它时,什么也没有发生


Tags: the代码server过程connectioncursordatabasepo

热门问题