JDBC ドライバーとの接続
このページでは、フェデレーション データベース インスタンスに接続するために MongoDB JDBC ドライバーをインストールして構成する方法について説明します。
サポートされている認証メカニズム
SCRAM-SHA-1、SCRAM-SHA-256、MONGODB-X509、およびAWS を使用した MongoDB パスワードレス認証 を使用して認証できます。
前提条件
1 つ以上のデータ ストアにマッピングされたフェデレーティッドデータベースインスタンス。
注意
データの一部または全部が Atlas クラスターから取得されている場合、そのクラスターで Atlas SQL を利用するには、MongoDB バージョン 5.0 以降を使用する必要があります。
JDBC ドライバーを使用してフェデレーティッドデータベースインスタンスに接続したいアプリケーションまたは BI。
手順
JDBC ドライバーを使用すると、Maven プロジェクトなど、JDBC API を受け入れる SQL ベースの Java アプリケーションに接続できます。
JDBC ドライバーのダウンロードと確認
最新のMongoDB JDBC ドライバーバージョンをダウンロードします。
ダウンロードした パッケージの整合性を確認します。
MongoDB リリースチームは、特定の MongoDB パッケージが有効で、改変されていない MongoDB リリースであることを証明するために、すべてのソフトウェア パッケージにデジタル署名しています。 MongoDB は、 .asc
形式の異なる PGP キーで各リリース ブランチに署名します。
.asc
次のコマンドを実行して、 Maven Central Repository から ファイルをダウンロードします。curl -O https://repo1.maven.org/maven2/org/mongodb/mongodb-jdbc/2.1.2/mongodb-jdbc-2.1.2.jar.asc 次のコマンドを実行して、キー ファイルをダウンロードし、インポートします。
{server_url}
を Maven でサポートされている現在の GPG キー サーバーの 1 つに置き換えます。keyserver.ubuntu.com
keys.openpgp.org
pgp.mit.edu
gpg --keyserver {server_url} --recv-keys 91A2157730666110 gpg: key 91A2157730666110: public key "Huan Li <huan.li@10gen.com>" imported gpg: Total number processed: 1 gpg: imported: 1 次のコマンドを実行して、MongoDB JDBC ドライバーのインストール ファイルを検証します。
gpg --verify mongodb-jdbc-2.1.2.jar.asc mongodb-jdbc-2.1.2.jar GPG は次のような応答を返す必要があります。
gpg: Signature made Wed May 22 13:24:36 2024 MDT gpg: using RSA key 91A2157730666110 gpg: Good signature from "Huan Li <huan.li@10gen.com>" パッケージが適切に署名されているが、ローカル
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: D2C4 5B7E 66A5 DCA1 8B76 57A8 91A2 1577 3066 6110 次のエラー メッセージが表示される場合は、正しい公開キーをインポートしたことを確認してください。
gpg: Can't check signature: public key not found
Maven プロジェクトへの統合
Maven アプリケーションのドライバーを構成します。
Maven アプリケーションに接続するには、Maven Central Repository から依存関係スニペットをコピーします。依存関係スニペットのバージョン番号を、JDBC ドライバーのバージョンに合わせて編集します。例:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-jdbc</artifactId> <version>2.1.0</version> </dependency>
フェデレーティッドデータベースインスタンスに接続します。
フェデレーティッドデータベースインスタンスに接続するには、接続文字列を作成し、アプリケーションから接続を開きます。JDBC ドライバーの接続文字列は、jdbc:
プレフィックスを除いて、標準の MongoDB 接続文字列の形式に従います。
jdbc:mongodb://[username:password]@[host].a.query.mongodb.net/<databaseName>[?option1=value1[&option2=value2]...]
接続文字列は、 Atlas UI から取得できます。 Atlas UI から接続文字列を取得するには、次の手順を実行します。
AtlasUI で、{0 ページに し、接続するフェデレーティッドデータベースインスタンスのGo Data FederationConnect[ ] をクリックします。
Access your data through tools で Atlas SQL を選択します。
[ Select your driverの下で、ドロップダウンから [ JDBC Driver ] を選択します。
Get Connection String[0}] で、接続するデータベースを選択し、接続文字列をコピーします。
次の例は、接続を開く方法を示しています。接続文字列に加えて、 Properties
オブジェクト パラメーターを通じて使用するデータベースも指定する必要があります。詳細については、「 接続文字列と接続プロパティ」を参照してください。
java.util.Properties p = new java.util.Properties(); p.setProperty("database", "<databaseName>"); Connection conn = DriverManager.getConnection("<connectionString>", p);
注意
ドライバーは Atlas にのみ接続でき、 mongod
インスタンスには接続できません。JDBC ドライバーの接続文字列内の特殊文字は、URL エンコードする必要があります。