Navicat(App Store版)でSQL Serverへの接続を確立しようとすると、「SQL Server ODBCドライバーが必要です」というエラーメッセージが表示されます。どうすればよいでしょうか?
更新日時:
対象OS:macOS
対象Navicat製品:Navicat for SQL Server、Navicat Premium (App Store版)
Microsoft SQL Serverインスタンスへの直接接続を確立するためには、Microsoft ODBC Driver for SQL Serverが必要です。
なぜこのエラーが表示されるのですか?
macOSでは、セキュリティが強化されたアプリケーションやMac App Storeのアプリケーションは、Appleが強制する安全なSandbox(サンドボックス)内で実行されます。
Homebrewなどの標準的なパッケージマネージャーを介してMicrosoft ODBC Driverをインストールすると、ドライバーのバイナリ(libmsodbcsql.18.dylib)とそのリソースは、フォルダ(Apple Siliconの場合は/opt/homebrew、Intelの場合は/usr/localなど)内にインストールされます。厳格なサンドボックスポリシーにより、App Storeのアプリケーションがこれらのユーザー領域にあるHomebrewディレクトリを読み取ることは厳しく禁止されています。
これを解決するためには、SQL Server ODBCドライバーをシステム全体でサンドボックスからアクセス可能なフォルダ(/Library/ODBC/)に配置し、システム構成に適切に登録する必要がありま
手順1:Microsoft ODBCドライバーのインストール
まず、Macに公式のMicrosoft SQL Server ODBCドライバーがインストールされていることを確認します。
- ターミナルアプリケーションを開きます。
- Homebrewがインストールされていない場合は、brew.shの手順に従ってインストールします。
-
以下のコマンドを実行して、Microsoft ODBCドライバーと標準のunixODBCツールをインストールします。
# Add Microsoft's tap brew tap microsoft/mssql-release [https://github.com/Microsoft/homebrew-mssql-release](https://github.com/Microsoft/homebrew-mssql-release) # Update brew formulas brew update # Install the driver (Accept the EULA when prompted) ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18
手順2: サンドボックスからアクセス可能なドライバーの設定
Homebrew経由でインストールした後もアプリケーション内でエラーが発生し続ける場合は、当社の設定スクリプトを実行してください。このスクリプトは、ドライバーおよびそれに関連するローカライズ用リソースを、サンドボックスからアクセス可能な安全なシステムパスにコピーします。
1. 設定スクリプトをダウンロードする
以下のリンクから、Microsoft ODBC設定スクリプトをダウンロードします: https://dn.navicat.com/drivers/configure_mac_mssql_odbc.sh
2. スクリプトを実行可能にする
- ターミナルアプリケーションを開きます。
- スクリプトを保存したフォルダ(例:Downloadsフォルダ)に移動します:cd ~/Downloads
-
スクリプトを実行可能にします:
chmod +x configure_mac_mssql_odbc.sh
3. スクリプトを実行する
システムの/Library/ODBC/ディレクトリへの書き込み権限を付与するために、sudoを使用してスクリプトを実行します:
sudo ./configure_mac_mssql_odbc.sh
手順3: 接続の確認
Navicatを再起動し、接続をテストします。