如何在python中执行存储过程?

时间:2020-04-23 03:34:12

标签: python sql-server stored-procedures sqlalchemy pyodbc

我已经在SQL Server中创建了存储过程(SP),并且必须通过Python脚本运行它。尽管我使用了pyodbc或sqlalchemy,并且它没有输出任何错误,但是对我的数据库没有任何影响。这是我使用过的脚本:

这是在pyodbc中的(我也遵循https://github.com/mkleehammer/pyodbc/wiki/Calling-Stored-Procedures,但与我上面描述的相同,我的数据库没有任何影响)

import pyodbc 

server = '___' 
database = '___' 
username = '___' 
password = '___' 

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

cursor.execute("""MySP @argInput= 15""")

这是在sqlalchemy中

from sqlalchemy import create_engine
import urllib
from sqlalchemy.orm import sessionmaker

params = urllib.parse.quote_plus(r'Driver={ODBC Driver 17 for SQL Server};Server=___;Database=___;Uid=___;Pwd=___;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;')
conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params)
engine_azure = create_engine(conn_str,echo=True)

Session = sessionmaker(bind = engine_azure)
session = Session()
results = session.execute('MySP @argInput= 15')

注意:除此之外,还有人知道如何输出受影响的行,例如在短信中运行SP吗?非常感谢!

0 个答案:

没有答案
相关问题