【发布时间】:2017-07-25 09:47:27
【问题描述】:
我正在尝试在 Ubuntu 16.04 上安装 ODBC 驱动程序 13,但安装后仍然缺少驱动程序。我按照this page的步骤操作,但是当我想连接时,驱动程序仍然丢失。
下面的代码也是返回空数组:
import pyodbc
print(pyodbc.drivers())
当我想通过以下方式安装时:
wget https://gallery.technet.microsoft.com/ODBC-Driver-13-for-Ubuntu-b87369f0/file/154097/2/installodbc.sh
在installodbc.sh 内部,下面的部分给了我一个找不到./install.sh 的错误:
echo "Installing the Microsoft ODBC Driver 13 for SQL Server- Ubuntu"
sudo bash ./install.sh install --force --accept-license
echo "Cleaning up"
rm -rf /tmp/msodbcubuntu
有谁知道如何解决这个问题?我在互联网上尝试了所有可能的答案,仍然缺少驱动程序,我无法建立连接。
【问题讨论】:
-
我已经使用here 的说明在 Ubuntu 16.04 上安装了 13.1 版本的驱动程序,并且每次都运行良好。您引用的 shell 脚本很旧,不应再使用。我建议您在 Microsoft Docs 页面上重试 16.04 的每个步骤,并留意可能出现的任何错误消息。
-
感谢@GordThompson 的回答,我按照步骤安装了 Ubuntu 16.04 的 13.1 版本。但是,当我想在 python 中连接到服务器时,我仍然收到此错误:“错误('01000',”[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 13.1 for SQL Server':文件未找到 (0) (SQLDriverConnect) ")"
-
当您运行
odbcinst -j时,您看到DRIVERS............: /etc/odbcinst.ini了吗?pyodbc.drivers()仍然返回一个空列表吗? -
是:这是 odbcinst -j 的输出:
unixODBC 2.3.4 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /home/samin/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8 -
而且 pyodbc.drivers() 的输出仍然是一个空数组:(
标签: python sql-server ubuntu odbc pyodbc