В рамках моей деятельности по разработке в проекте мне нужно обновить или вставить выходную таблицу. Я пытаюсь передать DF как параметр с табличным значением в процедуре хранилища. Я хочу добиться этого с помощью хранимой процедуры. Может ли кто-нибудь помочь мне здесь?
У меня DF с 33 колонками. Он имеет столбцы varchar, nvarchar, int, smallint, float и datetime.
Например, я попробовал, как упомянуто здесь - https://www.sqlshack.com/table-valued-parameters-in-sql-server/, таблица, таблица типов и процедура, как в приведенной выше ссылке. НО единственная разница - ВМЕСТО ВСТАВКИ в качестве объявления, которое я пытался перейти от DF.
Пример DF, как показано ниже.
data = {'No':[1,2,3],'Name':['A','B','C','D']}
df=pd.DataFrame(data)
Изменение DF в список - ›кортеж, как в ссылке -› Можно ли передавать значения параметра типа таблицы из PYODBC в SQL Server?
rec= df.to_records(index=False)
param=[tuple(rec)]
query="{call Usp_InsertLessonMemOpt (?) }"
**PYODBC connection**
cursor=py_con.cursor()
cursor.execute(query,param)
py_con.commit()
py_con.close()
Ошибка: ('HY003', '[HY003] [Microsoft] [Диспетчер драйверов ODBC] Тип программы вне диапазона (0) (SQLBindParametr)')
Если бы я попробовал с turbodbc
Ошибка выполнения Ошибка! неподдерживаемый идентификатор типа для столбца параметр_1 NULLABLE UNKNOWN TYPE (точность 0, масштаб 0))
Использование: драйвер ODBC 13 для SQL Server и python 3.7.9
Заранее спасибо.