Я хотел бы запустить блок кода в 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")
Любая помощь приветствуется