Docs 菜单
Docs 主页
/
BI Connector
/ /

创建系统 DSN

在此页面上

  • 先决条件
  • 步骤

以下步骤介绍了如何为 BI Connector 的 mongosqld 进程创建系统数据源名称 (DSN)。DSN 是一种保存的配置,它描述了供 ODBC 驱动程序使用的数据库连接。为 BI Connector 创建 DSN 以后,您可以配置各种 SQL 客户端和 BI 工具来使用 DSN,并从 MongoDB 导入数据。

在创建 DSN 之前,您应当:

  • 安装 BI Connector 并进行配置以连接到副本集。

    注意

    如果您使用 BI Connector for Atlas,则此先决条件不适用。

  • 下载并安装 Visual C++ Redistributable for Visual Studio 2015

  • 下载并安装 MongoDB BI Connector ODBC 驱动程序。

  1. 启动 Microsoft ODBC Data Sources 程序。

    选择适合系统和 ODBC 驱动程序版本的 程序版本(64 位或 32 位)。

  2. 选择 System DSN 标签页。

  3. 单击 Add 按钮。

    Windows ODBC 管理器应用程序的屏幕截图
    点击放大
  4. 从可用驱动程序列表选择 MongoDB BI Connector ODBC 驱动程序。

    选择 MongoDB ODBC ANSI DriverMongoDB ODBC Unicode Driver,然后单击 OK

    注意

    ANSI ODBC 驱动程序可以提供最高性能,但字符集有限。Unicode ODBC 驱动程序支持更广泛的字符集,但性能可能略有下降。

  5. 填写必需的表单字段。

    单击 Details 按钮,显示表单的下半部分。

    以下表单字段是必填字段:

    字段名称
    说明
    Data Source Name
    所选择的名称。
    TCP/IP Server
    运行 mongosqld 进程的服务器的地址。如果您已在 MongoDB Atlas 上启用 BI Connector,则可以在集群的连接信息找到运行 mongosqld 的服务器的主机名。
    Port
    mongosqld 进程的端口号。
    Database
    要连接的数据库的名称,例如test
  6. (可选)如果已启用身份验证,请提供连接信息。

    在启用 --auth 的情况下运行或连接 BI Connector for Atlas 实例时,需要以下字段。

    字段名称
    说明
    User

    已通过身份验证可使用目标数据库的 MongoDB 用户的用户名。

    您可以在用户名后指定以下身份验证选项,作为 URI 形式的查询参数:

    连接选项
    说明
    source

    指定存储该用户凭证的数据库名称。如果不指定此选项,MongoDB Connector for BI 将默认使用当前与 MySQL 连接关联的数据库。

    对于将凭证存储委托给其他服务的身份验证机制,例如 PLAIN (LDAP) 或 GSSAPI (Kerberos),请将 source 值设置为 $external

    如果在 MongoDB Connector for BI 配置文件中设置了 defaultSource,则无需配置该选项。

    mechanism

    指定 MongoDB Connector for BI 应使用的机制来验证连接。可被接受的值包括:

    LDAP 和 Kerberos 需要 MongoDB Enterprise 。使用 LDAP 或 Kerberos 时,将源设置为 $external

    如果在 MongoDB Connector for BI 配置文件中设置了 defaultMechanism,则无需配置该选项。

    不支持 X.509。

    示例,要使用admin数据库和挑战与响应 ( SCRAM-SHA-1 )身份验证机制以用户grace身份进行身份验证,请按以下格式写入用户名:

    grace?source=admin

    示例,要使用LDAP ( PLAIN )身份验证机制以用户grace的身份进行身份验证,请按以下格式写入用户名:

    grace?mechanism=PLAIN&source=$external

    示例,要在 Kerberos 域 上以用户 的身份进行身份验证grace EXAMPLE.COM使用Kerberos身份验证机制时,请按以下格式写入用户名:

    grace@EXAMPLE.COM?mechanism=GSSAPI&source=$external

    有关 Kerberos 配置的更多信息,请参阅为 BI Connector 配置 Kerberos。

    Password

    经过身份验证的用户的密码。

    您不能在数据库密码中使用花括号({ }),因为这些是 ODBC 驱动程序中的特殊字符。

    Authentication

    默认身份验证方法。使用 MongoDB BI Connector ODBC 驱动程序时,不需要此字段。

    要将身份验证插件与其他 ODBC 驱动程序结合使用,请在此字段中填写字符串 mongosql_auth

  7. (可选)如果已启用 TLS/SSL,请填写 TLS/SSL 表单字段。

    单击 Details >>,然后单击 SSL 标签页,访问 TLS/SSL 表单字段。根据 TLS/SSL 配置,以下参数可用且可能是必需的:

    字段名称
    说明
    SSL Key
    客户端/服务器密钥文件的位置。
    SSL Cert
    客户端/服务器证书文件的位置。
    SSL CA File
    包含受信任证书颁发机构列表的文件的位置。
    SSL Cipher
    包含允许密码套件列表的文件的位置。
    SSL Mode
    设置为 REQUIRED,要求加密通道。如果未提供加密通道,则连接失败。
    RSA Public Key
    包含 RSA 公钥的 PEM 文件的位置。

    注意

    BI Connector for Atlas 使用 TLS/SSL,但不需要在系统 DSN 中 配置任何 TLS/SSL 设置。

  8. 单击 Test 按钮,测试 ODBC 连接。

    如果连接成功,请单击 OK 以添加 DSN。如果连接失败,请检查,确保 MongoDB 用户对连接指定的数据库进行了正确的身份验证。

  1. 启动 ODBC经理。

    注意

    ODBC Manager 包含在 MongoDB BI Connector ODBC 驱动程序中。

    重要

    MongoDB BI Connector ODBC Driver 附带的 ODBC Manager 1.0.16 版本与 macOS Catalina 或更高版本的 macOS 不兼容。如果您使用的是 Catalina 或更高版本的 macOS,请下载并安装最新版本的 ODBC Manager (1.0.19)

  2. 单击 System DSN,然后单击 Add

    ODBC Manager DSN 配置
  3. 从可用驱动程序列表选择 MongoDB BI Connector ODBC 驱动程序。

    选择MongoDB ANSI ODBC驾驶员或MongoDB Unicode ODBC驾驶员,然后单击OK

    注意

    ANSI ODBC 驱动程序可以提供最高性能,但字符集有限。Unicode ODBC 驱动程序支持更广泛的字符集,但性能可能略有下降。

  4. 输入一个 Data Source Name (DSN)

    (可选)输入 Description

    注意

    不要关闭设置窗口。 继续执行下一步。

  5. 添加必要的关键字。

    1. 单击 Add(添加)按钮添加关键字值对。

    2. 通过双击它,输入所需的关键字,然后按回车键来修改 Keyword

    3. 通过双击它,输入所需的关键字,然后按回车键来修改 Value

    使用上述过程,添加以下关键字:

    Keyword
    服务器

    MongoDB Connector for BI托管的主机名或IP解决。

    重要提示:使用127.0.0.1通过 TCP 连接到本地主机。 如果指定IP解决以外的值, BI Connector将尝试使用 Unix 套接字进行连接。

    端口
    用于 MongoDB Connector for BI 的 IANA 端口号。默认为 3307
    数据库

    连接后使用的数据库。

    连接 Microsoft Excel 时必须使用此关键字。

    有关 ODBC 参数的完整列表,请参阅连接器/ODBC 连接参数

    示例,用户 DSN 配置应如下所示:

    ODBC Manager DSN 配置

    注意

    不要关闭设置窗口。 继续执行下一步。

  6. (可选)如果已启用身份验证,请添加身份验证关键字。

    1. 单击 Add(添加)按钮添加关键字值对。

    2. 通过双击它,输入所需的关键字,然后按回车键来修改 Keyword

    3. 通过双击它,输入所需的关键字,然后按回车键来修改 Value

    使用上述过程,添加以下关键字:

    Keyword
    UID

    可以访问活动的 MongoDB Connector for BI 数据库的用户的用户名。

    您可以在用户名后指定以下身份验证选项,作为 URI 形式的查询参数:

    连接选项
    说明
    source

    指定存储该用户凭证的数据库名称。如果不指定此选项,MongoDB Connector for BI 将默认使用当前与 MySQL 连接关联的数据库。

    对于将凭证存储委托给其他服务的身份验证机制,例如 PLAIN (LDAP) 或 GSSAPI (Kerberos),请将 source 值设置为 $external

    如果在 MongoDB Connector for BI 配置文件中设置了 defaultSource,则无需配置该选项。

    mechanism

    指定 MongoDB Connector for BI 应使用的机制来验证连接。可被接受的值包括:

    LDAP 和 Kerberos 需要 MongoDB Enterprise 。使用 LDAP 或 Kerberos 时,将源设置为 $external

    如果在 MongoDB Connector for BI 配置文件中设置了 defaultMechanism,则无需配置该选项。

    不支持 X.509。

    示例,要使用admin数据库和挑战与响应 ( SCRAM-SHA-1 )身份验证机制以用户grace身份进行身份验证,请按以下格式写入用户名:

    grace?source=admin

    示例,要使用LDAP ( PLAIN )身份验证机制以用户grace的身份进行身份验证,请按以下格式写入用户名:

    grace?mechanism=PLAIN&source=$external

    示例,要在 Kerberos 域 上以用户 的身份进行身份验证grace EXAMPLE.COM使用Kerberos身份验证机制时,请按以下格式写入用户名:

    grace@EXAMPLE.COM?mechanism=GSSAPI&source=$external

    有关 Kerberos 配置的更多信息,请参阅为 BI Connector 配置 Kerberos。

    PWD

    UID 关联的密码。

    您不能在数据库密码中使用花括号({ }),因为这些是 ODBC 驱动程序中的特殊字符。

    有关 ODBC 参数的完整列表,请参阅连接器/ODBC 连接参数

    示例,用户 DSN 配置应如下所示:

    ODBC Manager DSN 配置
  7. (可选)如果已启用 TLS/SSL,请添加 TLS/SSL 关键字。

    1. 单击 Add(添加)按钮添加关键字值对。

    2. 通过双击它,输入所需的关键字,然后按回车键来修改 Keyword

    3. 通过双击它,输入所需的关键字,然后按回车键来修改 Value

    注意

    BI Connector for Atlas 使用 TLS/SSL,但不需要在系统 DSN 中 配置任何 TLS/SSL 设置。

    按照上述步骤,根据您的 TLS/SSL 配置添加以下关键字:

    Keyword
    SSLKEY
    .pem 文件的路径密钥文件。
    SSLCERT
    SSL 证书的路径。
    SSLMODE
    设置为 REQUIRED
    SSLCA
    SSL 证书颁发机构文件的路径。
    SSLCIPHER
    包含允许的密码列表的文件的路径。
    RSAKEY
    包含 RSA 公钥的 PEM 文件的路径。
    ENABLE_CLEARTEXT_PLUGIN
    设置为 1 以启用明文身份验证。

    注意

    如果您正在连接 Microsoft Excel,则证书必须位于 /Library/ODBC/ 目录中。

    有关 ODBC 参数的完整列表,请参阅连接器/ODBC 连接参数

    示例,用户 DSN 配置应如下所示:

    ODBC Manager DSN 配置
  8. 单击 OK 以完成 DSN 创建。

以下过程已在 Ubuntu 和 RHEL 上进行了测试,并且应该以类似的方式与其他 Linux 发行版一起工作。

1

MongoDB BI Connector ODBC 驱动程序文件名为 libmdbodbca.solibmdbodbcw.so。下载 MongoDB BI Connector ODBC 驱动程序后,将它们移动到 /usr/local/lib 目录。

2

文件 /etc/odbc.ini 定义数据源名称。以下是示例 odbc.ini 文件,该文件配置为使用 MongoDB BI Connector ODBC 驱动程序和名为 MongoDBODBC 的 DSN 一起使用。将所有必要的占位符值替换为适合系统的值。

名为 libmdbodbca.so 的文件是 ANSI 驱动程序,名为 libmdbodbcw.so 的文件是 Unicode 驱动程序。通过在 odbc.ini 文件中设置 Driver 参数来指定所需的驱动程序。

注意

ANSI ODBC 驱动程序可以提供最高性能,但字符集有限。Unicode ODBC 驱动程序支持更广泛的字符集,但性能可能略有下降。

[MongoDBODBC]
DESCRIPTION = ODBC for MongoDB BI Connector
DRIVER = /usr/local/lib/libmdbodbcw.so
TRACE = Off
TRACEFILE = stderr
READONLY = yes
SERVER = <server address>
PORT = <port number>
USER = <username>
PASSWORD = <password>
DATABASE = <dbname>
; optional SSL configuration
SSLKEY = </path/to/.pem-key-file>
SSLCERT = </path/to/ssl-certificate>
SSLMODE = DISABLED|PREFERRED|REQUIRED
SSLCA = </path/to/ssl-ca-list-file>
SSLCAPATH = </path/to/ssl-ca-file-directory>
SSLCIPHER = </path/to/ssl-cipher-file>
RSAKEY = </path/to/rsa-public-key-file>

注意

所有 odbc.ini 参数都不区分大小写。

前面的示例仅包含一个 DSN,但可以在一个 odbc.ini 文件中包含多个 DSN。

下表描述了上一个示例中使用的参数。

Parameter
说明
DESCRIPTION
可选。DSN 的文本描述。
DRIVER
ODBC 驱动程序文件的路径。
TRACE
OnOff。 启用 ODBC 跟踪。
TRACEFILE
如果启用了 ODBC 跟踪,则存储跟踪输出的文件路径。
READONLY
yesno。强制执行只读 ODBC 会话。
SERVER
运行 BI Connector 实例 mongosqld 的服务器的地址。
PORT
mongosqld 实例的端口号。
USER
有权连接到 mongosqld 实例的 MongoDB 用户的用户名。
PASSWORD
有权连接到 mongosqld 实例的 MongoDB 用户的密码。
DATABASE
要使用的 MongoDB 数据库的名称。
SSLKEY
用于建立安全连接的 SSL 密钥文件的完整路径。
SSLCERT
用于建立安全连接的 SSL 证书文件的名称。
SSLMODE

接受的值为:

  • DISABLED

  • PREFERRED

  • REQUIRED

SSLCA
包含信任 SSL 证书颁发机构列表的文件的完整路径。
SSLCAPATH
包含 PEM 格式的可信 SSL CA 证书的目录的完整路径。
SSLCIPHER
包含允许密码套件列表的文件的完整路径。
RSAKEY
包含 RSA 公钥的 PEM 文件的完整路径。
ENABLE_CLEARTEXT_PLUGIN
设置为 1 以启用明文身份验证。

有关 ODBC 参数的完整列表,请参阅连接器/ODBC 连接参数

注意

BI Connector for Atlas 使用 TLS/SSL,但不需要在系统 DSN 中 配置任何 TLS/SSL 设置。

您的 DSN 现在可以使用了。如果您希望测试您的 DSN,请继续执行步骤 3。

3

使用首选包管理器安装 unixODBC

On Ubuntu:

sudo apt-get install unixodbc

在 RHEL 上:

sudo yum install unixODBC

或者,您可以从 unixODBC 网站下载二进制文件。

4

unixODBC 包中包含一个名为 iusql 的 SQL 客户端。您可以使用它来测试您的 DSN。

以下示例使用 iusql 连接到 MongoDBODBC DSN,然后在名为 test 的数据库中查找表:

iusql -v MongoDBODBC
SQL> use test;
SQL> show tables;

在此页面上