小编典典

无法打开lib“ SQL Server ODBC驱动程序13”?Sym链接问题?

python

当我尝试使用pyodbc连接到SQL Server数据库(在Mac上)时:

import pyodbc

server = '####'
database = '####'
username = '####@####'
password = '#####'
driver='{ODBC Driver 13 for SQL Server}'

pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+password)

我收到以下错误:

错误:(“ 01000”,“ [01000] [unixODBC] [驱动程序管理器]无法打开lib’SQL
Server的ODBC驱动程序13’:找不到文件(0)(SQLDriverConnect)“)

当我在实际的驱动程序位置中移动时:

driver='/usr/local/lib/libmsodbcsql.13.dylib'

它开始工作!

我的odbcinst.ini样子是这样的:

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.13.dylib
UsageCount=1

如何获得我的参考以driver='{ODBC Driver 13 for SQL Server}'重新开始工作?

我最初使用本指南来安装驱动程序。如果可以,我在Mac Sierra上使用anaconda吗?


阅读 164

收藏
2020-12-20

共1个答案

小编典典

运行:

odbcinst -j

它产生了:

unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /Users/emehex/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

我没有将文件复制到/etc/目录中(不确定unixODBC为什么认为它们在那里),我创建了每个文件的符号链接:

sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini

这样就解决了问题。

2020-12-20