Amazon Redshift
管理指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

在 Linux 和 Mac OS X 操作系统上配置 ODBC 驱动程序

在 Linux 和 Mac OS X 操作系统上,您可以使用 ODBC 驱动程序管理器来配置 ODBC 连接设置。ODBC 驱动程序管理器使用配置文件来定义和配置 ODBC 数据源和驱动程序。您可以使用的 ODBC 驱动程序管理器取决于您使用的操作系统。有关可用来配置 Amazon Redshift ODBC 驱动程序的 ODBC 驱动程序管理器的更多信息,请参阅系统要求(适用于 Linux 操作系统)和系统要求(适用于 Mac OS X 操作系统)。

要配置 Amazon Redshift ODBC 驱动程序,需要提供以下三个文件:amazon.redshiftodbc.iniodbc.iniodbcinst.ini

如果您将驱动程序安装在默认位置,amazon.redshiftodbc.ini 配置文件则位于以下目录之一:

  • /opt/amazon/redshiftodbc/lib/32(适用于 Linux 操作系统上的 32 位驱动程序)

  • /opt/amazon/redshiftodbc/lib/64(适用于 Linux 操作系统上的 64 位驱动程序)

  • /opt/amazon/redshift/lib/universal(适用于 Mac OS X 上的驱动程序)

此外,在 Linux 上的 /opt/amazon/redshiftodbc/Setup 下或在 Mac OS X 上的 /opt/amazon/redshift/Setup 下,提供有示例 odbc.iniodbcinst.ini 文件,供您用作示例来配置 Amazon Redshift ODBC 驱动程序和数据源名称 (DSN)。

我们不建议使用 Amazon Redshift ODBC 驱动程序安装目录来存储配置文件。设置目录中的示例文件仅用作示例。如果您日后重新安装 Amazon Redshift ODBC 驱动程序,或将其升级到新版本,安装目录会被覆盖,您将丢失对这些文件所做的全部更改。

为了避免出现这种情况,您应将 amazon.redshiftodbc.ini 文件复制到安装目录以外的其他目录中。如果您要将此文件复制到用户的主目录,请在文件名的开头添加一个句点 (.),使其成为隐藏文件。

对于 odbc.ini 和 odbcinst.ini 文件,您应在用户的主目录中使用配置文件,或者在其他目录中创建新文件。默认情况下,您的 Linux 或 Mac OS X 操作系统应在用户的主目录(/home/$USER 或 ~/.)中提供有 .odbc.ini 文件和 .odbcinst.ini 文件。这些默认文件均为隐藏文件(通过在文件名前添加圆点 (.) 表示),并且仅在您使用 -a 标记列举目录内容时才会显示。

对于 odbc.ini 和 odbcinst.ini 文件,不管您选择哪个选项,都需对其进行修改,以添加驱动程序和 DSN 配置信息。如果您选择创建新文件,则还需设置环境变量,以指定这些配置文件的目标存储位置。

配置 odbc.ini 文件

您可以使用 odbc.ini 文件来定义数据源名称 (DSN)。

请在 Linux 操作系统上使用以下格式:

Copy
[ODBC Data Sources] driver_name=dsn_name [dsn_name] Driver=path/driver_file Host=cluster_endpoint Port=port_number Database=database_name locale=locale

以下示例显示了 odbc.ini 在 Linux 操作系统上的配置:

Copy
[ODBC Data Sources] Amazon_Redshift_x32=Amazon Redshift (x86) Amazon_Redshift_x64=Amazon Redshift (x64) [Amazon Redshift (x86)] Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com Port=5932 Database=dev locale=en-US [Amazon Redshift (x64)] Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com Port=5932 Database=dev locale=en-US

请在 Mac OS X 操作系统上使用以下格式:

Copy
[ODBC Data Sources] driver_name=dsn_name [dsn_name] Driver=path/libamazonredshiftodbc.dylib Host=cluster_endpoint Port=port_number Database=database_name locale=locale

以下示例显示了 odbc.ini 在 Mac OS X 操作系统上的配置:

Copy
[ODBC Data Sources] Amazon_Redshift_dylib=Amazon Redshift DSN for Mac OS X [Amazon Redshift DSN for Mac OS X] Driver=/opt/amazon/redshift/lib/universal/libamazonredshiftodbc.dylib Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com Port=5932 Database=dev locale=en-US

配置 odbcinst.ini 文件

您可以使用 odbcinst.ini 文件来定义 ODBC 驱动程序。

请在 Linux 操作系统上使用以下格式:

Copy
[ODBC Drivers] driver_name=Installed ... [driver_name] Description=driver_description Driver=path/driver_file ...

以下示例显示了安装在 Linux 操作系统默认目录中的 32 位和 64 位驱动程序的 odbcinst.ini 配置:

Copy
[ODBC Drivers] Amazon Redshift (x86)=Installed Amazon Redshift (x64)=Installed [Amazon Redshift (x86)] Description=Amazon Redshift ODBC Driver (32-bit) Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so [Amazon Redshift (x64)] Description=Amazon Redshift ODBC Driver (64-bit) Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so

请在 Mac OS X 操作系统上使用以下格式:

Copy
[ODBC Drivers] driver_name=Installed ... [driver_name] Description=driver_description Driver=path/libamazonredshiftodbc.dylib ...

以下示例显示了安装在 Mac OS X 操作系统默认目录中的驱动程序的 odbcinst.ini 配置:

Copy
[ODBC Drivers] Amazon RedshiftODBC DSN=Installed [Amazon RedshiftODBC DSN] Description=Amazon Redshift ODBC Driver for Mac OS X Driver=/opt/amazon/redshift/lib/universal/libamazonredshiftodbc.dylib

配置驱动程序配置文件的环境变量

要让 Amazon Redshift ODBC 驱动程序正常运行,您需要设置一系列环境变量,具体设置方法如下。

设置环境变量,以指定驱动程序管理器库的路径:

(可选)将 AMAZONREDSHIFTODBCINI 设置为指向您的 amazon.redshiftodbc.ini 文件。AMAZONREDSHIFTODBCINI 必须指定完整路径,其中包括文件名。您必须设置此变量,或者将此文件放置在系统通过搜索能够找到的位置。按照以下搜索顺序查找 amazon.redshiftodbc.ini 文件:

  1. 如果定义了 AMAZONREDSHIFTODBCINI 环境变量,那么驱动程序将搜索该环境变量指定的文件。

  2. 如果未定义 AMAZONREDSHIFTODBCINI 环境变量,那么驱动程序将在自己的目录(即包含驱动程序二进制文件的目录)中进行搜索。

  3. 如果找不到 amazon.redshiftodbc.ini 文件,驱动程序将尝试自动确定驱动程序管理器设置并进行连接。但是,在这种情况下无法正确显示错误消息。

如果您决定将 odbc.ini 文件和 odbcinst.ini 文件存储在用户主目录以外的其他目录中,则还需设置环境变量,以指定配置文件的目标位置:

  • ODBCINI 设置为指向您的 odbc.ini 文件。

  • ODBCSYSINI 设置为指向包含 odbcinst.ini 文件的目录。

如果使用的是 Linux,驱动程序管理器库位于 /usr/local/lib 目录中,odbc.ini 文件和 amazon.redshiftodbc.ini 文件位于 /etc 目录中,odbcinst.ini 文件位于 /usr/local/odbc 目录中,因此,如下例所示设置环境变量:

Copy
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export ODBCINI=/etc/odbc.ini export AMAZONREDSHIFTODBCINI=/etc/amazon.redshiftodbc.ini export ODBCSYSINI=/usr/local/odbc

如果使用的是 Mac OS X,驱动程序管理器库位于 /usr/local/lib 目录中,odbc.ini 文件和 amazon.redshiftodbc.ini 文件位于 /etc 目录中,odbcinst.ini 文件位于 /usr/local/odbc 目录中,因此,如下例所示设置环境变量:

Copy
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib export ODBCINI=/etc/odbc.ini export AMAZONREDSHIFTODBCINI=/etc/amazon.redshiftodbc.ini export ODBCSYSINI=/usr/local/odbc