Как выполнить хранимую процедуру в python? - PullRequest
0 голосов
/ 23 апреля 2020

Я уже создал хранимую процедуру (SP) на моем SQL сервере, и мне нужно запустить его через мой Python скрипт. Хотя я использовал либо pyodb c, либо sqlalchemy, он также не выдает никаких ошибок, но он не влияет на мою базу данных. Вот мои сценарии, которые я использовал:

Вот в pyodb c (я тоже следовал 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 в smss ? Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...