2017-07-25 480 views
0

我想在Ubuntu 16.04上安裝ODBC驅動程序13,但是在安裝後仍然缺少驅動程序。我遵循this page的步驟,但是當我想連接時,驅動程序仍然丟失。在Ubuntu中安裝Microsoft ODBC驅動程序13 for SQL Server 16.04

下面的代碼也返回空數組:

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 

有誰知道如何解決這個問題問題?我在互聯網上嘗試了所有可能的答案,但仍然缺少驅動程序,我無法建立連接。

+0

我已經在Ubuntu 16.04上多次使用[這裏]的說明安裝了13.1版本的驅動程序(https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing- -sql-server-microsoft-odbc-driver-for-sql-server#microsoft-odbc-driver-131-for-sql-server),它對我來說每次都很好。你引用的shell腳本很老,不應該再使用。我建議您在Microsoft Docs頁面上重試16.04的每個步驟,並留意可能出現的任何錯誤消息。 –

+0

感謝您的答案@GordThompson我按照步驟安裝Ubuntu 16.04的13.1版本。但是,當我想連接到服務器在Python中,我仍然得到這個錯誤:「錯誤('01000',」[01000] [unixODBC] [驅動程序管理器]無法打開lib的'SQL Server的ODBC驅動程序13.1':文件找不到(0)(SQLDriverConnect)「)」 – sss

+0

當你運行'odbcinst -j'時你會看到'DRIVERS ............:/ etc/odbcinst.ini'嗎?並且'pyodbc.drivers()'仍然返回一個空列表? –

回答

0

有多達如何在https://www.microsoft.com/en-us/sql-server/developer-get-started/python/ubuntu/

此設立的SQLServer和ODBC在Ubuntu Python的開發是由SQL Server產品團隊保持最新說明。

安裝ODBC的最新指令可以在 https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server#microsoft-odbc-driver-131-for-sql-server

+0

謝謝你的回答,因爲@GordThompson也說過我沒有任何錯誤,但是當我想連接這個文件的時候它已經不存在了 - >'./opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9 .0.'獲取更多信息我正在使用pyodbc 4.0.17和python 3.6.2。 – sss

0

您需要的路徑配置到驅動程序通過創建~/.odbcinst.ini,如發現

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

注意:以上是從macOS獲取的示例。

其中/usr/local/lib/libmsodbcsql.13.dylib是您的libmsodbcsql庫文件的文件路徑(例如,在Linux上它是libmsodbcsql-13.1.so.9‌​‌​.0‌​)。

相關問題