当我看到odbcinst -j它显示
unixODBC 2.2.14
DRIVERS............: /etc/unixODBC/odbcinst.ini
SYSTEM DATA SOURCES: /etc/unixODBC/odbc.ini
FILE DATA SOURCES..: /etc/unixODBC/ODBCDataSources
USER DATA SOURCES..: /etc/unixODBC/odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Run Code Online (Sandbox Code Playgroud)
但是没有位置/etc/unixODBC/odbcinst.ini.实际位置是/etc/odbcinst.ini这样我需要改变位置.我该怎么做?
我正试图在脚本下面运行
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQLServer};SERVER=10.10.10.1;DATABASE=ABC;UID=username;PWD=password')
cursor = cnxn.cursor()
Run Code Online (Sandbox Code Playgroud)
但它显示以下错误
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)
我添加了odbc.in和odbcinst.ini文件信息如下
cat odbc.ini
[SQLServer]
Description = ODBC for MSSQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
Servername =
Database =
UID =
Port = …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 macOS 10.15.4 下使用 pyodbc 和 unixODBC 从 Jupyter 笔记本连接到 MSSQL 服务器。我刚刚将 OSX 升级到 Catalina,之前的工作配置已损坏。
我尝试连接:
pyodbc.connect('Driver={ODBC Driver 13 for SQL Server};Server=xxx;Database=xxx;uid=xxx;pwd=xxx;')
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libmsodbcsql.13.dylib' : file not found (0) (SQLDriverConnect)")
Run Code Online (Sandbox Code Playgroud)
但该文件存在,并且由 obdcinst.ini 中的驱动程序指向,并且链接似乎正确。
为了跟踪这一点,我运行:
$ 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/johnmorgan/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Run Code Online (Sandbox Code Playgroud)
驱动文件存在,如下:
$ more /etc/odbcinst.ini
[ODBC Driver 13 for SQL Server]
Description=Microsoft …Run Code Online (Sandbox Code Playgroud)