Запуск нескольких операторов с одним набором результатов на сервере SQL с Python - PullRequest
0 голосов
/ 19 июня 2020

Я хотел бы запустить блок кода в SQL из python. Меня интересует только последний оператор выбора, и я пытаюсь сохранить окончательный результат в файле.

DECLARE @Custom_parameter1 bit  
DECLARE @Custom parameter2 varchar(8);

IF OBJECT_ID(N'TEMPDB..#Custom_mytemptable') IS NOT NULL      
DROP TABLE #Custom_mytemptable;  
CREATE TABLE #Custom_mytemptable  ([Column1] Int, [DealTeam] varchar(100),....);

INSERT #Custom_pComplianceTrancheLimits EXEC Custom.pComplianceTrancheLimits;
SELECT * from #Custom_mytemptable

Как видите, есть несколько утверждений, которые, как мне кажется, вызывают мою проблему. Я получаю следующую ошибку:

Traceback (последний вызов последний): File "C: \ Users \ myfolder \ AppData \ Local \ Programs \ Thonny \ lib \ site-packages \ sqlalchemy \ engine \ result.py ", строка 1230, в _fetchall_impl return self.cursor.fetchall () sqlalchemy.ex c .ResourceClosedError: Этот объект результата не возвращает строки. Он был закрыт автоматически.

Вот мой код:

import pandas as pd
from pathlib import Path
import pyodbc
import openpyxl
from sqlalchemy import create_engine

icg_dev =create_engine('mssql+pyodbcconnection details)

#Here i am opening a file from which I am pulling the SQL query from the 'query' column
panels = pd.read_excel(file_to_open)

df = pd.DataFrame(panels)
for ind in panels.index:
    dataSource = df['DbSource'][ind]
    query = str(df['query'][ind])
    dataDEV = pd.read_sql(query,icg_dev)
    dataDEV.to_excel(f"{data_folder}\OutputsDEV\{dataSource}.xlsx")

Любая помощь приветствуется

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