【发布时间】:2018-03-22 14:35:25
【问题描述】:
我在 linux 机器 (Ubuntu 16.04) 上使用 pyodbc 连接到 SQL Server 时遇到了麻烦。
conn = pyodbc.connect(r'DRIVER={FreeTDS};PORT=**; SERVER=**; DATABASE=**;UID=AA;PWD=hfghj;')
curr = conn.cursor()
curr.fast_executemany = True
query = "INSERT INTO dbo.STG_CONTACTABILITY_SCORE VALUES (?" + ",?"*21 + ")"
sql_data = list(map(tuple, i.values))
curr.executemany(query, sql_data)
我收到以下错误:
('HY004', '[HY004] [FreeTDS][SQL Server]无效的数据类型 (0) (SQLBindParameter)')
当我将连接字符串更改为:
conn = pyodbc.connect(r'DRIVER={SQL Server};PORT=**; SERVER=**; DATABASE=**; UID=AA; PWD=hfghj;')
如果我在我的 Linux 机器上将 Driver 从 FreeTDS 更改为 SQL SERVER
我收到以下错误:
pyodbc.Error: ('01000', "[01000] [unixODBC][驱动管理器]无法打开 lib 'SQL Server' : 找不到文件 (0) (SQLDriverConnect)")
我搜索了答案,但没有多少可以解决我的问题。 Linux机器连接SQL SERVER的驱动是什么?
【问题讨论】:
标签: sql-server pyodbc unixodbc