Мне нужно запросить базу данных SQL, используя конкретное значение из моего скрипта Python, вот что у меня есть:
conn = pyodbc.connect('<SQL-CREDENTIALS-HERE>')
# Create a cursor from the connection
crsr = conn.cursor()
sql = """\
DECLARE @DATA1 AS var_num;
DECLARE @DATA2 OUTPUT;
EXEC EXT_GetDATA
@DATA1,
@DATA2;
"""
crsr.execute(sql)
Для этого я получаю сообщение об ошибке. DATA1 - недопустимый тип данных, я пишу запрос sqL, верно? Обратите внимание, что var_num вытащен ранее в сценарии и здесь не показан.
РЕДАКТИРОВАТЬ: я также попробовал следующий метод и все еще не повезло:
conn = pyodbc.connect ('')
# Create a cursor from the connection
crsr = conn.cursor()
sql = """\
DECLARE @DATA1 CHAR(20);
SET DATA1 = var_num;
DECLARE @DATA2 NVARCHAR;
EXEC EXT_GetDATA
@DATA1,
@DATA2 OUTPUT;
"""
crsr.execute(sql)
Однако это все еще не работает и возвращает ошибку:
Exception has occurred: ProgrammingError
(Invalid column name 'var_num'. (207) (SQLExecDirectW)")
Может кто-нибудь сказать мне, что я делаю неправильно, я не хочу устанавливать var_num
в качестве имени столбца ??