无法打开lib'SQL Server的ODBC驱动程序13'? Sym链接问题? [英] Can't open lib 'ODBC Driver 13 for SQL Server'? Sym linking issue?
问题描述
当我尝试使用pyodbc(在Mac上)连接到sql服务器数据库时:
When I try to connect to a sql server database with pyodbc (on 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))
Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 13 for SQL Server' : file not found (0) (SQLDriverConnect)")
当我进入实际的驾驶员位置时:
When I path in the actual driver location:
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}'
的引用以重新开始工作?
How can I get my reference to driver='{ODBC Driver 13 for SQL Server}'
to start working again?
我最初使用本指南安装驱动程序.如果有帮助,我正在Mac Sierra上使用anaconda吗?
I initially used this guide to install the driver. And I'm using anaconda on Mac Sierra if that helps?
推荐答案
运行:
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为什么认为它们在那里),而是创建了指向每个文件的符号链接:
Instead of copying the files to the /etc/
directory (not sure why unixODBC thought they were there) I created a symbolic link to each file:
sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini
这解决了问题.
这篇关于无法打开lib'SQL Server的ODBC驱动程序13'? Sym链接问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!