FreeTDS ODBC + pyodbc 是否支持表值参数 (TVP)?

问题描述

我在 unix/rhel7 系统上工作。我已经为 FreeTDS、unixODBC 和 pyodbc 安装了 require 驱动程序。其他查询工作正常,但是当我尝试使用 TVP(表值参数)执行存储过程时,它给了我错误。有什么方法可以使用 python 中的 windows 服务帐户 连接 SQL Server?

示例:

import pyodbc;

cnxn = pyodbc.connect('DRIVER=FreeTDS;SERVER=SERVERNAME;PORT=1234;UID=USERNAME;PWD=PASSWORD;DATABASE=DBNAME')
cnxn.cursor()


param_array = []
for i in range(3):
  param_array.append(['abc','adi','/somepath/','2021-01-04','NEW'])

result_array = cursor.execute("EXEC abc.stored_proc_name ?",[param_array]).fetchall()
cursor.commit()

cnxn.close()

错误:

pyodbc.Error: ('HY004','[HY004] [FreeTDS][SQL Server]无效数据类型 (0) (SQLBindParameter)')

那么有没有其他方法可以从支持 TVP 的 python 连接 SQL 服务帐户?或者上面的例子有什么解决方案吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)