可應用作業系統:Linux

可應用 Navicat 產品:Navicat BI、Navicat BI Viewer(Flatpak 版)

 

必須安裝 Microsoft ODBC Driver for SQL Server (版本 17 或 18),才能建立至 Microsoft SQL Server 執行個體的直接連線。

 

為什麼我會看到此錯誤?

透過 Flatpak 發布的應用程式會在安全的容器沙盒中執行,以保護你的主機系統。

預設情況下,Flatpak 沙盒與主機系統的函式庫路徑(例如 /opt/microsoft 或 /usr/lib64)是完全隔離的。當你使用套件管理員(apt 或 dnf)在主機電腦上安裝 Microsoft ODBC 驅動程式時,該驅動程式會被放置在這些受限路徑中,使得沙盒內的應用程式完全無法讀取。

為了讓 Flatpak 應用程式能夠連線,你必須執行我們的設定指令碼。該指令碼會將驅動程式檔案複製到你的 home 目錄設定區($HOME/.config/navicat/ODBC/mssql)下一個沙盒可存取的專屬目錄,並在你的系統設定中註冊一個專用的 Flatpak 驅動程式區塊。

 

步驟 1:在主機系統上安裝 Microsoft ODBC 驅動程式

在執行設定程式之前,你必須先在你的 Linux 主機作業系統上安裝官方的 Microsoft SQL Server ODBC 驅動程式。

適用於 Ubuntu / Debian:

sudo su
curl [https://packages.microsoft.com/keys/microsoft.asc](https://packages.microsoft.com/keys/microsoft.asc) | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
# Add the correct repository for your Ubuntu version (e.g., 22.04)
curl [https://packages.microsoft.com/config/ubuntu/22.04/prod.list](https://packages.microsoft.com/config/ubuntu/22.04/prod.list) | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
ACCEPT_EULA=Y sudo apt-get install -y msodbcsql18 mssql-tools18 unixodbc-dev

適用於 RHEL / Fedora / CentOS:

sudo su
# Register Microsoft's RHEL repository
curl [https://packages.microsoft.com/config/rhel/8/prod.repo](https://packages.microsoft.com/config/rhel/8/prod.repo) | sudo tee /etc/yum.repos.d/mssql-release.repo
 # Clear utf16 conflicts if any exist
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
ACCEPT_EULA=Y sudo yum install -y msodbcsql18 mssql-tools18 unixODBC-devel

 

步驟 2:設定 Flatpak 沙盒驅動程式橋接

一旦在主機上安裝了驅動程式,請使用以下設定指令碼來複製並對應驅動程式設定,以便 Flatpak 應用程式能夠安全地載入它。

1. 下載指令碼

從以下連結下載 Microsoft ODBC 設定指令碼: https://dn.navicat.com/drivers/configure_linux_mssql_odbc.sh

2. 使指令碼可執行

開啟終端機視窗,瀏覽至儲存該 shell 檔案的資料夾,並授予其執行權限:

chmod +x configure_linux_mssql_odbc.sh

3. 使用 sudo 執行指令碼

執行該指令碼。系統將會提示你輸入 root 密碼,以安全地更新全系統的 /etc/odbcinst.ini 檔案:

sudo ./configure_linux_mssql_odbc.sh

 

步驟 3:驗證連線

重新啟動 Navicat 並測試連線。

還有其他問題嗎?
提交查詢