

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon DocumentDB ODBC 驱动程序进行连接
使用 ODBC 驱动程序进行连接

适用于 Amazon DocumentDB 的 ODBC 驱动程序为开发人员提供了 SQL 关系接口，并支持从 Power BI Desktop 和 Microsoft Excel 等 BI 工具进行连接。

有关更多详细信息，请参阅 [GitHub 上的 Amazon DocumentDB ODBC 驱动程序文档](https://github.com/aws/amazon-documentdb-jdbc-driver/blob/develop/src/markdown/index.md)。

**Topics**
+ [

## 入门
](#connect-odbc-get-started)
+ [

# 在 Windows 中设置 Amazon DocumentDB ODBC 驱动程序
](connect-odbc-setup-windows.md)
+ [

# 从 Microsoft Excel 连接到 Amazon DocumentDB
](connect-odbc-excel.md)
+ [

# 从 Microsoft Power BI Desktop 连接到 Amazon DocumentDB
](connect-odbc-power-bi.md)
+ [

# 自动架构生成
](connect-odbc-schema.md)
+ [

# SQL 支持和限制
](connect-odbc-sql-support.md)
+ [

# 故障排除
](connect-odbc-troubleshooting.md)

## 入门


**第 1 步：创建 Amazon DocumentDB 集群**  
如果您还没有 Amazon DocumentDB 集群，可以通过多种方式开始使用。  
Amazon DocumentDB 是一项仅针对虚拟私有云（VPC）的服务。如果您从集群 VPC 外部的本地计算机进行连接，则需要创建与 Amazon EC2 实例的 SSH 连接。在这种情况下，请按照[使用 EC2 连接](https://docs.amazonaws.cn/documentdb/latest/developerguide/connect-ec2.html)中的说明启动集群。有关 SSH 隧道以及何时可能需要隧道的更多信息，请参阅[使用 SSH 隧道连接到 Amazon DocumentDB](https://github.com/aws/amazon-documentdb-odbc-driver/blob/develop/src/markdown/setup/setup.md#using-an-ssh-tunnel-to-connect-to-amazon-documentdb)。

**第 2 步：JRE 或 JDK 安装**  
根据您的 BI 应用程序，您可能需要确保计算机上安装了 64 位 JRE 或 JDK 安装版本 8 或更高版本。您可以在[此处](https://www.oracle.com/ca-en/java/technologies/downloads/#java8)下载 Java SE 运行时系统环境 8。

**步骤 3：下载 Amazon DocumentDB ODBC 驱动程序**  
在[此处](https://github.com/aws/amazon-documentdb-odbc-driver/releases)下载 Amazon DocumentDB ODBC 驱动程序。选择正确的安装程序（例如，documentdb-odbc-1.0.0.msi）。遵照安装指南。

**第 4 步：使用 SSH 隧道连接到 Amazon DocumentDB**  
Amazon DocumentDB 集群部署在 Amazon Virtual Private Cloud (Amazon VPC) 中。它们可由 Amazon EC2 实例或部署在同一 Amazon VPC 中的其他 Amazon 服务直接访问。此外，Amazon DocumentDB 还可供部署在同一 Amazon 区域或其他区域的不同 VPC 中的 Amazon EC2 实例或其他 Amazon 服务通过 VPC 对等连接访问。  
但是，假设您的使用案例要求您（或您的应用程序）从集群的 VPC 外部访问您的 Amazon DocumentDB 资源。对于大多数不在与 Amazon DocumentDB 集群位于同一 VPC 中的虚拟机上运行应用程序的用户来说，情况就是如此。从 VPC 外部连接时，您可以使用 SSH 隧道（也称为端口转发）来访问您的 Amazon DocumentDB 资源。  
要创建 SSH 隧道，您需要一个与您的 Amazon DocumentDB 集群在同一 Amazon VPC 中运行的 Amazon EC2 实例。您可以使用同一 VPC 中的现有 EC2 实例作为集群，或创建一个集群。您可以通过在本地计算机上运行以下命令设置到 Amazon DocumentDB 集群 `sample-cluster.node.us-east-1.docdb.amazonaws.com` 的 SSH 隧道：  

```
ssh -i "ec2Access.pem" -L 27017:sample-cluster.node.us-east-1.docdb.amazonaws.com:27017 ubuntu@ec2-34-229-221-164.compute-1.amazonaws.com -N
```
`-L` 标志用于转发本地端口。这是连接 VPC 外部客户端上运行的任何商业智能工具的前提条件。运行上述步骤后，您可以继续执行所选商业智能工具的后续步骤。  
有关 SSH 隧道的更多信息，请参阅有关[使用 SSH 隧道连接到 Amazon DocumentDB ](https://github.com/aws/amazon-documentdb-odbc-driver/blob/develop/src/markdown/setup/setup.md#using-an-ssh-tunnel-to-connect-to-amazon-documentdb)的文档。

# 在 Windows 中设置 Amazon DocumentDB ODBC 驱动程序
在 Windows 中设置 ODBC 驱动程序

使用以下步骤在 Windows 中设置 Amazon DocumentDB ODBC 驱动程序：

1. 在 Windows 中打开**控制面板**并搜索“ODBC”（或在菜单中选择**Windows 工具**>**ODBC 数据来源（32 位）**或**ODBC 数据来源（64 位）**）：  
![\[Windows 控制面板界面显示了适用于 ODBC 32 位和 64 位数据来源的设置链接。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/odbc-control-panel-1.png)

1. 选择适当的 ODBC 驱动程序数据来源管理器：如果已安装 32 位版本，请选择 32 位版本，否则，请选择 64 位版本。

1. 选择系统 DSN 选项卡，然后单击**添加...**添加新的 DSN：  
![\[“ODBC 数据来源管理器”界面显示了“添加”按钮。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/odbc-add-dsn-1.png)

1. 从数据来源驱动程序列表中选择 **Amazon DocumentDB**：  
![\[“创建新数据来源”界面，其中选择了 Amazon DocumentDB 驱动程序选项。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/create-data-source-1.png)

1. 在**配置 Amazon DocumentDB DSN** 对话框中，完成**连接设置**、**TLS** 选项卡和**测试连接**字段，然后单击**保存**：  
![\[“配置 Amazon DocumentDB DSN”界面，其中包含“连接设置”、“TLS”和“测试连接”等字段。“保存”按钮位于底部。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/config-docdb-dsn-1.png)

1. 确保您准确填写了 Windows 表单，因为连接详细信息会因您选择的连接 EC2 实例的 SSH 隧道方法而异。[此处](https://github.com/aws/amazon-documentdb-odbc-driver/blob/develop/src/markdown/setup/setup.md#using-an-ssh-tunnel-to-connect-to-amazon-documentdb)查看 SSH 隧道方法。有关每个属性的详细信息，请参阅[连接字符串语法和选项](https://github.com/aws/amazon-documentdb-odbc-driver/blob/develop/src/markdown/setup/connection-string.md)。  
![\[“配置 Amazon DocumentDB DSN”界面，其中已填写“SSH 隧道”字段。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/config-docdb-dsn-ssh-1.png)

[有关在 Windows 上配置 Amazon DocumentDB ODBC 驱动程序的更多信息，请单击此处。](https://github.com/aws/amazon-documentdb-odbc-driver/blob/develop/src/markdown/setup/windows-dsn-configuration.md)

# 从 Microsoft Excel 连接到 Amazon DocumentDB
从 Microsoft Excel 连接

1. 确保已正确安装和配置 Amazon DocumentDB 驱动程序。有关其他信息，请参阅[在 Windows 中设置 ODBC 驱动程序](https://docs.amazonaws.cn/documentdb/latest/developerguide/connect-odbc-setup-windows.html)。

1. 启动 Microsoft Excel。

1. 导航至**数据** > **获取数据** > **从其他来源**。

1. 选择**从 ODBC**：  
![\[“获取数据”下拉列表显示“从其他来源”子菜单。已选择“从 ODBC”选项。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/excel-odbc-1.png)

1. 从与 Amazon DocumentDB 关联的**数据来源名称 (DSN)**下拉菜单中选择数据来源：  
![\[“数据来源名称”下拉列表，其中选择了 DocumentDB DSN 选项。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/excel-odbc-dsn-select-1.png)

1. 选择要从中将数据加载到 Excel 的集合：  
![\[“导航器”界面，其中已选定工资表并显示了其数据预览。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/excel-odbc-collect-1.png)

1. 将数据加载到 Excel：  
![\[Excel 电子表格显示了选定工资表中的五行数据。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/excel-data-load-1.png)

# 从 Microsoft Power BI Desktop 连接到 Amazon DocumentDB
从 Microsoft Power BI Desktop 连接

**Topics**
+ [

## 先决条件
](#odbc-power-bi-prerequisites)
+ [

## 添加 Microsoft Power BI Desktop 自定义连接器
](#odbc-adding-power-bi)
+ [

## 使用 Amazon DocumentDB 自定义连接器进行连接
](#odbc-connect-custom-connector)
+ [

## 配置 Microsoft Power BI Gateway
](#odbc-power-bi-gw)

## 先决条件


在开始之前，请确保已正确安装 Amazon DocumentDB ODBC 驱动程序。

## 添加 Microsoft Power BI Desktop 自定义连接器


将 `AmazonDocumentDBConnector.mez` 文件复制到 `<User>\Documents\Power BI Desktop\Custom Connectors\` 文件夹（如果使用 OneDrive，则复制到 `<User>\OneDrive\Documents\Power BI Desktop\Custom Connectors`）。这将允许 Power BI 访问自定义连接器。可以在[此处](https://github.com/aws/amazon-documentdb-odbc-driver/releases)获取 Power BI Desktop 的连接器。重启 Power BI Desktop 以确保连接器已加载。

**注意**  
自定义连接器仅支持使用 Amazon DocumentDB 用户名和密码进行身份验证。

## 使用 Amazon DocumentDB 自定义连接器进行连接


1. 从**获取数据**中选择 Amazon DocumentDB (Beta)，然后单击**连接**。如果您收到有关使用第三方服务的警告，请点击**继续**。  
![\[“获取数据”界面，其中突出显示了“Amazon DocumentDB（Beta）”选项。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/get-data-1.png)

1. 输入所有必要信息连接到 Amazon DocumentDB 集群，然后单击 **OK**：  
![\[表单中包含适用于 Amazon DocumentDB 集群的连接详细信息输入字段。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/docdb-form-1.png)
**注意**  
根据 ODBC 驱动程序的数据来源名称 (DSN) 的配置，如果您已在 DSN 设置中提供了必要的信息，则可能不会显示 SSH 连接详细信息屏幕。

1. 选择数据连接模式：
   + **导入** - 加载所有数据并将信息存储在磁盘上。必须刷新并重新加载数据才能显示数据更新。
   + **直接查询** - 不加载数据，但对数据进行实时查询。这意味着无需刷新和重新加载数据即可显示数据更新。  
![\[界面显示了 DocumentDB 的“数据连接模式”选项。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/data-connectivity-1.png)
**注意**  
如果您使用的数据集非常大，则导入所有数据可能需要更长的时间。

1. 如果这是首次连接到此数据来源，请选择身份验证类型，并在出现提示时输入凭证。然后，单击**连接**：  
![\[“身份验证”界面显示了用户名和密码凭证输入字段。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/docdb-credentials-1.png)

1. 在**导航栏**对话框中，选择所需的数据库表，然后单击**加载**以加载数据，或单击**转换数据**以继续转换数据。  
![\[“导航器”界面显示了可供选择的数据库表列表。“加载”和“转换数据”按钮位于右下角。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/navigator-1.png)
**注意**  
连接后，将保存数据来源设置。若要修改，请选择**转换数据** > **数据来源设置**。

## 配置 Microsoft Power BI Gateway


**先决条件**
+ 确保自定义连接器可与 Power BI Gateway 配合使用。
+ 请确保 ODBC DS 创建在位于安装了 Power BI Gateway 的计算机的**系统**选项卡中的 ODBC 数据来源。

如果使用内部 SSH 隧道功能，则需要将文件 `known_hosts` 置于 Power BI 服务帐户有权访问的位置。

![\[known_hosts 属性界面显示了 PBIEgwService 的权限。\]](http://docs.amazonaws.cn/documentdb/latest/developerguide/images/ssh-known-hosts-1.png)


**注意**  
这也适用于您可能需要能够与 Amazon DocumentDB 集群建立连接的任何文件，例如证书颁发机构 (CA) 证书文件（pem 文件）。

# 自动架构生成


ODBC 驱动程序通过 JNI（Java 本机接口）使用 Amazon DocumentDB JDBC 驱动程序，使自动架构生成功能在 JDBC 驱动程序中类似地工作。有关自动架构生成的更多信息，请参阅 [JDBC 自动架构生成](https://docs.amazonaws.cn/documentdb/latest/developerguide/connect-jdbc-autoschemagen.html)。此外，若要了解有关 ODBC 驱动程序架构的更多信息，请单击[此处](https://github.com/aws/amazon-documentdb-odbc-driver/blob/develop/src/markdown/index.md)。

# SQL 支持和限制


Amazon DocumentDB ODBC 驱动程序是一个只读驱动程序，支持 SQL-92 的子集和一些常见扩展。有关详细信息，请参阅 [ODBC 支持和限制](https://github.com/aws/amazon-documentdb-odbc-driver/blob/develop/src/markdown/support/odbc-support-and-limitations.md)文档。

# 故障排除


如果您在使用 Amazon DocumentDB ODBC 驱动程序时遇到问题，请参阅[故障排除指南](https://github.com/aws/amazon-documentdb-odbc-driver/blob/develop/src/markdown/support/troubleshooting-guide.md)。