Подключитесь к SQL Серверу и выполните запрос как "passthrough" из Python - PullRequest
0 голосов
/ 16 марта 2020

В настоящее время у меня есть код, который выполняет запросы к данным, хранящимся в базе данных SQL Сервера, например:

import pyodbc
conn = pyodbc.connect(
    r'DRIVER={SQL Server};'
    r'SERVER=SQL2SRVR;'
    r'DATABASE=DBO732;'
    r'Trusted_Connection=yes;'
    )

sqlstr = '''
    SELECT Company, Street_Address, City, State
    FROM F556
    WHERE [assume complicated criteria statement here]
'''

crsr = conn.cursor()
for row in crsr.execute(sqlstr):
    print(row.Company, row.Street_Address, row.City, row.State)

Я не могу найти в Интернете документацию о том, может ли pyodb c ( или по умолчанию) выполняет мои запросы на сервере SQL (в виде сквозных запросов), или же (если pyodb c не может этого сделать) есть другой способ (может быть, sqlalchemy или аналогичный?) сделать это. Любое понимание?

Или есть способ выполнить сквозные запросы непосредственно из Pandas?

1 Ответ

0 голосов
/ 16 марта 2020

Если вы работаете с pandas и SQL сервером, то вы уже должны были создать объект SQLAlchemy Engine (обычно с именем engine). Для выполнения необработанного оператора DML вы можете использовать конструкцию

with engine.begin() as conn:
    conn.execute("UPDATE table_name SET column_name ...")
print("table updated")
...