我有一个存储在SQL Server上的存储过程,并使用pymssql连接到该数据库。
我可以通过成功调用cursor.query('EXEC FindPerson')
来调用此过程。 但是我不能使用该方法cursor.callproc('FindPerson', (name,))
,我得到了这个错误
"NoneType"和"int"实例之间不支持"<">
我想知道为什么我不能调用callproc
方法。我想使用callproc
的原因是能够从过程中循环不同的结果集。
我还尝试在此方法上放置不同的存储过程,无论我输入的参数是什么,我总是得到相同的错误。因此,似乎该方法甚至在进入程序之前callproc
失败了。问题是调用存储过程的正确方法是什么?
下面是存储过程的示例。
CREATE PROCEDURE FindPerson
@name VARCHAR(100)
AS
BEGIN
SELECT *
FROM persons
WHERE name = @name
END
您需要在元组中传递名称参数。 试试 cursor.callproc('FindPerson', (personname,((