Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

使用 ODBC 驱动程序连接到 Atlas SQL

在此页面上

  • 支持的身份验证机制
  • 先决条件
  • 步骤

本页介绍如何安装和配置用于连接联合数据库实例的 MongoDB ODBC 驱动程序。

目前,ODBC 驱动程序可用于以下架构:

  • Windows

  • Ubuntu 22.04 (x 86 _ 64 )

您可以使用 SCRAM-SHA-1、SCRAM-SHA-256MONGODB-X509MongoDB 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).
  • unixODBC 包:

    sudo apt install unixodbc
  • odbcinst 包:

    sudo apt install odbcinst
  • 具有已部署集群和 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 的工具。

1
2

MongoDB发布团队对所有软件包进行数字签名,以证明特定的MongoDB包是有效且未经更改的MongoDB发布。 完成以下步骤,根据 SHA 256密钥验证 ODBC驾驶员二进制文件:

  1. 从 MongoDB ODBC 驱动程序下载量页面下载 .sha256适用于Windows x 的 文件。64

  2. 使用以下 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 二进制文件通过验证。

1

要安装 ODBC 驱动程序,请运行您下载的安装文件以打开 Atlas SQL ODBC 安装向导。按照安装向导中的步骤操作。

2

若要配置 ODBC 连接,请执行以下操作:

  1. 打开 ODBC 数据源管理器。

    注意

    如果您使用的是 64 位处理器,请务必打开 64 位 ODBC 数据源管理器。

  2. 导航至 System DSN(系统 DSN)标签页。

  3. 添加新的 System DSN(系统 DSN)。

  4. 当系统提示您为数据源选择驾驶员时,请选择 MongoDB Atlas SQL ODBC Driver

  5. 输入您的连接信息。您必须输入以下信息:

    注意

    您可以从使用 Atlas SQL 接口连接模式获取连接信息。

    字段
    说明

    DSN

    新 DSN 的名称。

    用户名

    用于连接到数据库的数据库用户名。

    密码

    数据库用户的密码。

    MongoDB URI

    您的 MongoDB 部署 URI。

    Database

    要连接的数据库名称。

    启用最大值

    用于强制最大string长度为 4000 个字符的复选框。 必须启用此选项才能使用BI MicrosoftSQLMongoDB ServerManagement Studio 等 工具,这些工具不支持最大长度未知的可变长度string 数据。

  6. 输入所需的连接信息后,您可以使用 ODBC 数据源管理器进行连接测试。

1

注意

单击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
2

MongoDB发布团队对所有软件包进行数字签名,以证明特定的MongoDB包是有效且未经更改的MongoDB发布。 atlas-sql-odbc.asc密钥可在pgp.mongodb.com上找到

  1. 运行以下命令以下载.sig文件。

    curl -LO https://translators-connectors-releases.s3.amazonaws.com/mongosql-odbc-driver/ubuntu2204/1.4.0/release/mongoodbc.tar.gz.sig
  2. 运行以下命令,下载并导入密钥文件。

    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
  3. 运行以下命令以验证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
3

以下示例将存档内容提取到/usr/local/lib/mongoodbcmongoodbc目录包含一个LICENSE文件、一个README.MD文件和一个bin目录。 bin目录包含libatsql.so ODBC驾驶员库。

sudo tar -zxf mongoodbc.tar.gz --directory /usr/local/lib
1
  1. 运行以下命令:

    odbcinst -j
  2. 请注意DRIVERSSYSTEM DATA SOURCESUSER 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
2
  1. 在您的首选编辑器中打开odbcinst.ini文件。

    示例:

    sudo vim /etc/odbcinst.ini
  2. 将以下条目添加到文件中,并指定libatsql.so ODBC驾驶员库的路径。

    示例:

    [ODBC Drivers]
    MongoDB Atlas SQL ODBC Driver = Installed
    [MongoDB Atlas SQL ODBC Driver]
    Driver=/usr/local/lib/mongoodbc/bin/libatsql.so
3

如果多个用户股票DSN,请配置系统 DSN。 如果多个用户不应股票DSN,请配置用户 DSN。 如果单个用户使用 DSN,则可以配置系统 DSN 或用户 DSN。

  1. 在首选编辑器中打开SYSTEM DATA SOURCES文件或USER DATA SOURCES文件。

    系统 DSN 示例:

    sudo vim /etc/odbc.ini

    用户 DSN 示例:

    sudo vim /home/ubuntu/.odbc.ini
  2. 将以下条目添加到文件并指定适当的值。

    注意

    您可以从使用 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
4

运行以下命令:

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查询函数。

后退

JDBC 驱动程序