通过sqlalchemy从python启动SQL存储过程?

问题描述 投票:2回答:1

我可以使用以下脚本从jupyter笔记本成功连接到SQL Server Management Studio:

from sqlalchemy import create_engine
import pyodbc 
import csv
import time
import urllib

params = urllib.parse.quote_plus('''DRIVER={SQL Server Native Client 11.0};
                                    SERVER=SV;
                                    DATABASE=DB;
                                    TRUSTED_CONNECTION=YES;''')

engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)

我设法执行了一些这样的SQL脚本:

engine.execute("delete from table_name_X")

但是,我无法执行存储过程。我从stored procedures with sqlAlchemy中看到的内容尝试了以下脚本。以下这些脚本的输出类似“ 0x173ed18e470处的sqlalchemy.engine.result.ResultProxy”,但是该过程实际上并未执行(什么也没有发生):

# test 1
engine.execute('stored_procedure_name')
# test 2
from sqlalchemy import func
from sqlalchemy.orm import sessionmaker
session = sessionmaker(bind=engine)()
session.execute(func.upper('stored_procedure_name'))

您能否给我正确的执行存储过程的方法?

python sql sql-server stored-procedures sqlalchemy
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.