ODBC ドライバーで Atlas SQL に接続する
このページでは、フェデレーティッドデータベースインスタンスに接続するために MongoDB ODBCドライバーをインストールして構成する方法について説明します。
ODBC ドライバーは現在、次のアーキテクチャで利用できます。
Windows
Ubuntu 22.04 (x86_64)
サポートされている認証メカニズム
SCRAM-SHA-1、SCRAM-SHA-256、MONGODB-X509、およびAWS を使用した MongoDB パスワードレス認証 を使用して認証できます。
前提条件
配置されたクラスターと Atlas Data Federation を持つAtlas アカウント。
1 つ以上のデータ ストアにマッピングされたフェデレーティッドデータベースインスタンス。
注意
データの一部または全部が Atlas クラスターから取得されている場合、そのクラスターで Atlas SQL を利用するには、MongoDB バージョン 5.0 以降を使用する必要があります。
ODBC ドライバーを使用してフェデレーティッドデータベースインスタンスに接続したいアプリケーションまたは BI。
Microsoft Visual C++ Redistributable17.0 以上(Microsoft C および C++(MSVC)ランタイム ライブラリのインストール用)
注意
C++ ランタイム ライブラリがインストールされていない場合、ODBC ドライバーは次のエラーを返します。
The specified module could not be found (path of the dll which exists and has the proper permission).
配置されたクラスターと Atlas Data Federation を持つAtlas アカウント。
1 つ以上のデータ ストアにマッピングされたフェデレーティッドデータベースインスタンス。
注意
データの一部または全部が Atlas クラスターから取得されている場合、そのクラスターで Atlas SQL を利用するには、MongoDB バージョン 5.0 以降を使用する必要があります。
ODBC ドライバーを使用してフェデレーティッドデータベースインスタンスに接続したいアプリケーションまたは BI。
Microsoft Visual C++ Redistributable17.0 以上(Microsoft C および C++(MSVC)ランタイム ライブラリのインストール用)
注意
C++ ランタイム ライブラリがインストールされていない場合、ODBC ドライバーは次のエラーを返します。
The specified module could not be found (path of the dll which exists and has the proper permission).
手順
ODBC ドライバー を使用すると、 ODBC API を受け入れる SQL ベースのツールに接続できます。
ODBC ドライバーをダウンロード
MongoDBダウンロード センター から最新のMongoDB ODBC ドライバー バージョンをダウンロードします。
ダウンロードしたパッケージの整合性を確認します。
MongoDB リリースチームは、特定の MongoDB パッケージが有効で、改変されていない MongoDB リリースであることを証明するために、すべてのソフトウェア パッケージにデジタル署名しています。 ODBC ドライバー バイナリを SHA 256キーに対して検証するには、次の手順を実行します。
MongoDB ODBC ドライバー ダウンロード ページ から Windows x の ファイルをダウンロードします。
.sha256
64次の Powershell スクリプトを使用して、署名ファイルを MongoDB インストーラー ハッシュと比較します。
sigHash = (Get-Content $Env:HomePath\Downloads\mongodbodbc.msi.sha256 | Out-String). SubString(0,64).ToUpper(); ` fileHash = (Get-FileHash $Env:HomePath\Downloads\mongodbodbc.msi).Hash.Trim(); ` echo $sigHash; echo $fileHash; ` sigHash -eq $fileHash このコマンドは、次の 3 行を出力します。
MongoDB から直接ダウンロードした SHA 256ハッシュ。
MongoDB からダウンロードした MongoDB ODBC ドライバー バイナリから計算された SHA 256ハッシュ。
ハッシュが一致するかどうかに応じて true または false の結果が返されます。
ハッシュが一致すると、MongoDB バイナリが検証されます。
ODBC ドライバーのインストールと構成
システム DSN を設定します。
ODBC 接続を構成するには次の手順に従います。
ODBC データソース 管理者を開きます。
注意
64 ビット プロセッサを使用する場合は、必ず 64 ビット ODBC データソース マネージド を開きます。
[システム DSN ] タブに移動します。
新しいシステム DSNを追加します。
データソースのドライバーを選択するプロンプトが表示されたら、 MongoDB Atlas SQL ODBC Driverを選択します。
接続情報を入力します。 次の項目を入力する必要があります。
注意
Atlas SQL Interface モーダルを使用して、Connectから接続情報を取得できます。
フィールド説明DSN新しい DSN の名前。ユーザー名データベースに接続するために使用するデータベースユーザー名。パスワードデータベースユーザーのパスワード。MongoDB URIMongoDB 配置 URI 。Database接続するデータベースの名前。最大値を有効にするチェックボックスをオンにすると、最大string長は 4000 文字になります。 Server Management Studio などの ツールでは、最大長が不明な変数長BI MicrosoftSQLstringデータをサポートできない場合、このオプションを有効にする必要があります。必要な接続情報を入力したら、ODBC データソース管理者との接続をテストできます。
ODBC ドライバーのダウンロードと確認
MongoDB ODBC ドライバー をダウンロードします。
注意
Copy linkをクリックして、後のステップで署名ファイルのダウンロードリンクを作成するために必要な URL を保存します。
curl https://translators-connectors-releases.s3.amazonaws.com/mongosql-odbc-driver/ubuntu2204/1.4.0/release/mongoodbc.tar.gz --output mongoodbc.tar.gz
ダウンロードした パッケージの整合性を確認します。
MongoDB リリースチームは、特定の MongoDB パッケージが有効で、改変されていない MongoDB リリースであることを証明するために、すべてのソフトウェア パッケージにデジタル署名しています。 atlas-sql-odbc.asc
キーはpgp.mongodb.comで入手できます。
.sig
ファイルをダウンロードするには、次のコマンドを実行します。curl -LO https://translators-connectors-releases.s3.amazonaws.com/mongosql-odbc-driver/ubuntu2204/1.4.0/release/mongoodbc.tar.gz.sig 次のコマンドを実行して、キー ファイルをダウンロードし、インポートします。
curl -LO https://pgp.mongodb.com/atlas-sql-odbc.asc gpg --import atlas-sql-odbc.asc gpg: key 1CCF1A1263CDD699: public key "Atlas SQL ODBC Release Signing Key <packaging@mongodb.com>" imported gpg: Total number processed: 1 gpg: imported: 1 以下のコマンドを実行して、MongoDB インストール ファイルを検証します。
gpg --verify mongoodbc.tar.gz.sig mongoodbc.tar.gz GPG は次の応答を返す必要があります。
gpg: Signature made Wed May 22 13:24:36 2024 MDT gpg: using RSA key 0C5F007ABC491E4A gpg: Good signature from "Atlas SQL ODBC Release Signing Key <packaging@mongodb.com>" [unknown] パッケージが適切に署名されているが、ローカルの
trustdb
の署名キーを現在信頼していない場合、gpg
は次のメッセージも返します。gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 1CF5 B0D7 B2F8 9E16 52D8 BA79 0C5F 007A BC49 1E4A 次のエラー メッセージが表示される場合は、正しい公開キーをインポートしたことを確認してください。
gpg: Can't check signature: public key not found
ODBC ドライバーのインストールと構成
ODBC ドライバーの構成ファイルを見つけます。
次のコマンドを実行します:
odbcinst -j DRIVERS
、SYSTEM DATA SOURCES
、USER DATA SOURCES
の構成ファイルの場所に注目してください。例:
unixODBC 2.3.9 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /home/ubuntu/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8
システム DSN またはユーザー DSN を設定します。
複数のユーザーが DSN を共有する場合は、システム DSN を設定します。 複数のユーザーが DSN を共有できない場合は、ユーザー DSN を設定します。 ユーザーが DSN を使用する単一ユーザーの場合は、システム DSN またはユーザー DSN を構成できます。
希望エディターで
SYSTEM DATA SOURCES
ファイルまたはUSER DATA SOURCES
ファイルを開きます。システム DSN の例:
sudo vim /etc/odbc.ini ユーザー DSN の例:
sudo vim /home/ubuntu/.odbc.ini 次のエントリを ファイルに追加し、適切な値を指定します。
注意
Atlas SQL Interface モーダルを使用して、Connectから接続情報を取得できます。
フィールド説明Password
データベースユーザーのパスワード。Driver
libatsql.so
ODBC ドライバー ライブラリへのパス。Database
接続するデータベースの名前。User
データベースに接続するために使用するデータベースユーザー名。Uri
MongoDB 配置 URI。UnicodeTranslationOption
Atlas SQL の Unicode エンコード。 をutf16
に設定します。enable_max_string_length
任意。 最大string長を 4000 文字に強制するフラグ。 有効にするには値を1
に設定し、無効にするには値を0
に設定します。 省略された場合、デフォルトは0
となります。 Server Management Studio などの ツールでは、最大長が不明な変数長BI MicrosoftSQLstringデータをサポートできない場合、このオプションを有効にする必要があります。例:
[ODBC Data Sources] MongoDB_Atlas_SQL = "MongoDB Atlas SQL ODBC Driver" [MongoDB_Atlas_SQL] Password = your_password Driver = /usr/local/lib/mongoodbc/bin/libatsql.so Database = sample_mflix User = your_username Uri = mongodb://datalake.region.a.query.mongodb.net/?ssl=true UnicodeTranslationOption = utf16
接続をテストします。
次のコマンドを実行します:
iusql -v MongoDB_Atlas_SQL
次の例は、成功した接続を示しています。
+---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+
接続が失敗した場合は、Atlas Data Federation インスタンスに対する構成ファイルの詳細を確認します。
注意
次の警告は ODBC ドライバーの操作には影響しません。
[MongoDB][API] Buffer size "0" not large enough for data.
ODBC ドライバーはiusql
クエリ関数をサポートしていません。