Я бы хотел использовать функцию ввода в python, которая позволяет мне вводить номер счета, который будет перенаправлен непосредственно в предложение where в SQL query
(ниже).
Вот мой импорт и установка SQL server connection
(это прекрасно работает):
import pyodbc as pyodbc
conn = pyodbc.connect('Driver={SQL Server};''Server=emerge-rdbmi;''Database=Something;''Trusted_Connection=yes;')
sql = conn.cursor()
Тогда у меня есть этот код:
Account = input('Enter the Account to query: ')
sql.execute('select hsp_account_name, adm_date_time, disch_date_time, tot_acct_bal, fc.financial_class_name, epm.payor_name, epp.benefit_plan_name, base.name, pat.name from hsp_account hsp left join clarity_fc fc on hsp.acct_fin_class_c=fc.financial_class left join clarity_epm epm on hsp.primary_payor_id=epm.payor_id left join clarity_epp epp on hsp.primary_plan_id=epp.benefit_plan_id left join zc_acct_basecls_ha base on hsp.acct_basecls_ha_c=base.acct_basecls_ha_c left join zc_pat_service pat on hsp.prim_svc_ha_c=pat.hosp_serv_c where hsp_account_id = [Account]")
Я считаю, что проблема находится в последней части второй строки (выше). Как правило, в предложении where в SQL
номер счета должен быть заключен в '' (круглые скобки). Как видите, я не могу найти правильный способ вызова входа [Account]
в контексте функции python sql.execute()
.
Вот ошибка, которую я получаю:
OperationalError: ('08S01', '[08S01] [Microsoft][ODBC SQL Server Driver]Communication link failure (0) (SQLExecDirectW)')
Спасибо за любую помощь!