使用 ODBC 驱动程序连接到 Atlas SQL
本页介绍如何安装和配置用于连接联合数据库实例的 MongoDB ODBC 驱动程序。
目前,ODBC 驱动程序可用于以下架构:
Windows
Ubuntu 22.04 (x 86 _ 64 )
支持的身份验证机制
您可以使用 SCRAM-SHA-1、SCRAM-SHA-256、MONGODB-X509 和 MongoDB Passwordless Authentication with AWS 进行身份验证。
先决条件
具有已部署集群和 Atlas Data Federation 的 Atlas 账户。
要学习;了解更多信息,请参阅Atlas Data Federation入门。
映射到一个或多个数据存储的联合数据库实例。
注意
如果部分或全部数据来自 Atlas 集群,则必须为该集群使用 MongoDB 5.0 或更高版本才能利用 Atlas SQL。
您要使用 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 账户。
要学习;了解更多信息,请参阅Atlas Data Federation入门。
映射到一个或多个数据存储的联合数据库实例。
注意
如果部分或全部数据来自 Atlas 集群,则必须为该集群使用 MongoDB 5.0 或更高版本才能利用 Atlas SQL。
您要使用 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包是有效且未经更改的MongoDB发布。 完成以下步骤,根据 SHA 256密钥验证 ODBC驾驶员二进制文件:
从 MongoDB ODBC 驱动程序下载量页面下载
.sha256
适用于Windows x 的 文件。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 该命令输出以下三行:
直接从MongoDB下载的 SHA 256哈希值。
根据您从MongoDB下载的MongoDB ODBC驾驶员二进制文件计算出的 SHA 256哈希值。
True 或 False 结果取决于哈希是否匹配。
如果哈希值匹配,则 MongoDB 二进制文件通过验证。
安装和配置 ODBC 驱动程序
配置系统 DSN。
若要配置 ODBC 连接,请执行以下操作:
打开 ODBC 数据源管理器。
注意
如果您使用的是 64 位处理器,请务必打开 64 位 ODBC 数据源管理器。
导航至 System DSN(系统 DSN)标签页。
添加新的 System DSN(系统 DSN)。
当系统提示您为数据源选择驾驶员时,请选择 MongoDB Atlas SQL ODBC Driver 。
输入您的连接信息。您必须输入以下信息:
注意
您可以从使用 Atlas SQL 接口连接模式获取连接信息。
字段说明DSN
新 DSN 的名称。
用户名
用于连接到数据库的数据库用户名。
密码
数据库用户的密码。
MongoDB URI
您的 MongoDB 部署 URI。
Database
要连接的数据库名称。
启用最大值
用于强制最大string长度为 4000 个字符的复选框。 必须启用此选项才能使用BI MicrosoftSQLMongoDB ServerManagement Studio 等 工具,这些工具不支持最大长度未知的可变长度string 数据。
输入所需的连接信息后,您可以使用 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 接口连接模式获取连接信息。
字段说明Password
数据库用户的密码。
Driver
libatsql.so
ODBC驾驶员库的路径。Database
要连接的数据库的名称。
User
用于连接数据库的数据库用户名。
Uri
MongoDB 部署URI。
UnicodeTranslationOption
Atlas SQL的 Unicode 编码。 设置为
utf16
。enable_max_string_length
可选。 标记以实施最大string长度为 4000 个字符。 要启用,请将值设立为
1
;要禁用,设立值设置为0
。 如果省略,则默认为0
。 必须启用此选项才能使用BI MicrosoftSQLServer Management Studio 等 工具,这些工具不支持最大长度未知的可变长度string 数据。示例:
[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
查询函数。