连接 JDBC 驱动程序
本页介绍如何安装和配置 MongoDB JDBC 驱动程序以连接到联合数据库实例。
支持的身份验证机制
您可以使用 SCRAM-SHA-1、SCRAM-SHA-256、MONGODB-X509 和 MongoDB Passwordless Authentication with AWS 进行身份验证。
先决条件
映射到一个或多个数据存储的联合数据库实例。
注意
如果部分或全部数据来自 Atlas 集群,则必须为该集群使用 MongoDB 5.0 或更高版本才能利用 Atlas SQL。
您要使用 JDBC 驱动程序连接到联合数据库实例的任意应用程序或 BI 工具。
步骤
您可以使用 JDBC 驱动程序连接到接受 JDBC API(如 Maven 项目)的基于 SQL 的 Java 应用程序。
下载并验证 JDBC 驱动程序
下载最新的 MongoDB JDBC 驱动程序 版本。
验证下载包的完整性:
MongoDB 发布团队对所有软件包进行数字签名,证明特定的 MongoDB 包是有效且未经更改的 MongoDB 版本。MongoDB 使用不同的 PGP 密钥对每个发布分支进行签名,格式为 .asc
。
运行以下命令从 Maven 中央资源库 下载
.asc
文件。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 密钥服务器之一: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 中央存储库复制依赖项片段。编辑依赖项片段中的版本号以匹配 JDBC 驱动程序版本。例如:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-jdbc</artifactId> <version>2.1.0</version> </dependency>
连接到您的联合数据库实例。
要连接到联合数据库实例,请创建连接字符串并从应用程序打开连接。JDBC 驱动程序的连接字符串遵循标准 MongoDB 连接字符串的格式,但带有 jdbc:
前缀:
jdbc:mongodb://[username:password]@[host].a.query.mongodb.net/<databaseName>[?option1=value1[&option2=value2]...]
您可以从 Atlas UI 获取连接字符串。要从 Atlas 用户界面获取连接字符串,请执行以下操作:
在 Atlas 用户界面中,转到 Data Federation 页面,然后单击要连接的联合数据库实例的 Connect。
在 Access your data through tools 下,选择 Atlas SQL 。
在 Select your driver 下拉菜单中选择 JDBC Driver。
在 Get Connection String 下,选择要连接的数据库并复制连接字符串。
以下示例演示了如何打开连接。除了连接字符串之外,还必须通过 Properties
对象参数指定要使用的数据库。要了解详细信息,请参阅连接字符串和连接属性。
java.util.Properties p = new java.util.Properties(); p.setProperty("database", "<databaseName>"); Connection conn = DriverManager.getConnection("<connectionString>", p);
注意
该驱动程序只能连接到 Atlas,而不能连接到 mongod
实例。JDBC 驱动程序的连接字符串中的任何特殊字符都必须进行 URL 编码。