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

ODBC 驱动程序配置选项

您可以将下表中所述的配置选项来控制 Amazon Redshift ODBC 驱动程序的行为。

在 Microsoft Windows 中,您通常可以在配置数据源名称 (DSN) 时设置驱动程序选项。此外,您还能在以编程方式连接时,在连接字符串中设置驱动程序选项;或者通过在 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\your_DSN 中添加或更改注册表项进行设置。有关配置 DSN 的更多信息,请参阅在 Microsoft Windows 操作系统上安装和配置 Amazon Redshift ODBC 驱动程序。有关在连接字符串中设置驱动程序选项的示例,请参阅以编程方式连接到您的群集

在 Linux 和 Mac OS X 中,您可以在 odbc.ini 和 amazon.redshiftodbc.ini 文件中设置驱动程序选项,如在 Linux 和 Mac OS X 操作系统上配置 ODBC 驱动程序中所述。amazon.redshiftodbc.ini 文件中的配置选项集适用于所有连接。相反,odbc.ini 文件中的配置选项集特定于一个连接。在 odbc.ini 中设置的配置选项优先于在 amazon.redshiftodbc.ini 中设置的配置选项。

ODBC 选项 是否存在匹配的 PostgreSQL 选项? 默认值 说明
AccessKeyID null 为 IAM 数据库身份验证配置的 IAM 角色或 IAM 用户的访问密钥 ID。AccessKeyID 选项包含在用于配置 IAM 数据库身份验证的选项集中。有关更多信息,请参阅 用于提供 IAM 凭证的 JDBC 和 ODBC 选项。AccessKeyID 和 SecretAccessKey 必须一起指定。
AutoCreate false 指定 true 可使用为 DbUser 指定的名称创建数据库用户 (如果数据库用户不存在)。AutoCreate 选项包含在用于配置 IAM 数据库身份验证的选项集中。有关更多信息,请参阅 用于创建数据库用户凭证的 JDBC 和 ODBC 选项
BoolsAsChar 0

当此选项处于启动状态(值为 1)时,驱动程序会将布尔值显示为长度为 5 的 SQL_VARCHAR 数据类型。

当此选项处于禁用状态(值为 0)时,驱动程序会将布尔值显示为 SQL_BIT 数据类型。

数据库 建立连接时要使用的数据库的名称。
DbGroups null 数据库用户在当前会话中加入的现有数据库组的名称的逗号分隔列表。DbGroups 选项包含在用于配置 IAM 数据库身份验证的选项集中。有关更多信息,请参阅 用于创建数据库用户凭证的 JDBC 和 ODBC 选项
DbUser null 数据库用户的名称。DbUser 选项包含在用于配置 IAM 数据库身份验证的选项集中。有关更多信息,请参阅 用于创建数据库用户凭证的 JDBC 和 ODBC 选项
驱动程序 Amazon Redshift ODBC 驱动程序共享对象文件的位置。
取回 100 驱动程序在 UseDeclareFetch 处于启用状态时返回的行数。
Iam 指定 1 可使用 IAM 数据库身份验证。有关更多信息,请参阅 用于创建数据库用户凭证的 JDBC 和 ODBC 选项
KeepAlive 否。如果 keepalive 在 TCP/IP 级别处于禁用状态,则说明 KeepAliveTime 和 KeepAliveInterval 设置为 0。 1

当此选项处于启用状态(值为 1)时,驱动程序将使用 TCP keepalive 来防止连接超时。

如果此选项处于禁用状态(值为 0),则驱动程序不会使用 TCP keepalive。

KeepAliveCount 0

连接被视为断开前可能丢失的 TCP keepalive 包的数量。

当此选项设置为 0 时,驱动程序会使用此设置的 TCP/IP 系统默认值。

KeepAliveTime 0

驱动程序发送 TCP keepalive 包前处于不活动状态的秒数。

当此选项设置为 0 时,驱动程序会使用此设置的 TCP/IP 系统默认值。

KeepAliveInterval 0

两次传输 TCP keepalive 间隔的秒数。

区域设置 en-US 用于错误消息的区域设置。
MaxBytea 255 BYTEA 列的最大数据长度(以字节为单位)。
MaxLongVarChar 8190 LONG VARCHAR 列的最大数据长度(以 UTF-8 代码单元为单位)。
MaxVarchar 255 VARCHAR 列的最大数据长度(以 UTF-8 代码单元为单位)。
端口

Amazon Redshift 服务器上的连接端口。

注意

默认情况下,Amazon Redshift 使用端口 5439。

个人资料 null AWS 凭证中配置文件的名称或包含 JDBC 连接选项值的 config 文件的名称。Plugin_Name 选项包含在用于配置 IAM 数据库身份验证的选项集中。有关更多信息,请参阅 使用配置文件
PWD 或 Password 用于连接 Amazon Redshift 服务器的密码。
SecretAccessKey null 为 IAM 数据库身份验证配置的 IAM 角色或 IAM 用户的秘密访问密钥。SecretAccessKey 选项包含在用于配置 IAM 数据库身份验证的选项集中。有关更多信息,请参阅 用于提供 IAM 凭证的 JDBC 和 ODBC 选项。AccessKeyID 和 SecretAccessKey 必须一起指定。
Server 或 Servername Amazon Redshift 服务器的 IP 地址或主机名。
SessionToken null 为 IAM 数据库身份验证配置的 IAM 角色的临时会话令牌。为 IAM 用户配置 IAM 数据库身份验证时不需要 SessionToken。SessionToken 选项包含在用于配置 IAM 数据库身份验证的选项集中。有关更多信息,请参阅 用于提供 IAM 凭证的 JDBC 和 ODBC 选项。如果使用 SessionToken,还必须指定 AccessKeyID 和 SecretAccessKey。
SingleRowMode 0

当此选项处于启用状态(值为 1)时,驱动程序一次返回一行查询结果。如果您计划查询大型结果集,但是不希望将完整结果检索到内存中,请启用此选项。

当此选项和 UseDeclareFetch 均处于禁用状态(值为 0)时,驱动程序会将完整查询结果检索到内存中。

注意

如果 UseDeclareFetch 处于启用状态(值为 1),则优先于 SingleRowMode。如果 SingleRowMode 处于启用状态(值为 1),而 UseDeclareFetch 处于禁用状态(值为 0),则 SingleRowMode 优先于 UseMultipleStatements。

SSLCertPath 默认文件名是 root.crt,默认路径是驱动程序 DLL 文件的位置。 文件的完整路径,文件中包含用于验证服务器证书的证书颁发机构捆绑。如果没有设定此选项,驱动程序会在包含驱动程序 DLL 文件的文件夹中查找。
SSLMode require 连接时要使用的 SSL 证书验证模式。有关可能使用的 SSL 模式的更多信息,请参阅在 ODBC 中使用 SSL 和信任 CA 证书

重要

Amazon Redshift 改变了我们管理 SSL 证书的方法。如果您必须使用早于 1.3.7.1000 的 ODBC 驱动程序版本,则可能需要更新当前的信任根 CA 证书,才能继续使用 SSL 连接群集。有关更多信息,请参阅 为 SSL 连接过渡到 ACM 证书

TextAsLongVarchar 0

当此选项处于启用状态(值为 1)时,驱动程序会将 TEXT 列返回为 LONG VARCHAR 数据。

当此选项处于禁用状态(值为 0)时,驱动程序会将 TEXT 列返回为 TEXT 数据。

UID 用于连接 Amazon Redshift 服务器的用户名。
UseDeclareFetch 0

当此选项处于启用状态(值为 1)时,驱动程序一次返回特定行数。要设置行数,请使用 Fetch 选项。

当此选项处于禁用状态(值为 0),而 SingleRowMode 处于启用状态(值为 1)时,驱动程序一次返回一行查询结果。如果 SingleRowMode 也处于禁用状态(值为 0),则驱动程序会将完整查询结果检索到内存中。

注意

如果 UseDeclareFetch 处于启用状态,则 UseDeclareFetch 优先于 SingleRowMode 和 UseMultipleStatements。

UseMultipleStatements 0

当此选项处于启用状态(值为 1)时,驱动程序可以运行被拆分成不同语句的查询。

当此选项处于禁用状态(值为 0)时,驱动程序将以单个语句运行查询。

注意

如果 UseDeclareFetch 处于启用状态(值为 1),则 UseDeclareFetch 优先于 UseMultipleStatements。如果 UseDeclareFetch 处于禁用状态(值为 0),但 SingleRowMode 处于启用状态(值为 1),则 SingleRowMode 优先于 UseMultipleStatements。

Username 与 UID 相同的信息(用于连接 Amazon Redshift 服务器的用户名)。如果定义了 UID,则 UID 优先于 Username。
UseUnicode 0

当此选项处于启用状态(值为 1)时,驱动程序会将数据返回为 Unicode 字符类型:

  • 将 CHAR 返回为 SQL_WCHAR。

  • 将 VARCHAR 返回为 SQL_WVARCHAR。

  • 将 TEXT 返回为 SQL_WLONGVARCHAR。

当此选项处于禁用状态(值为 0)时,驱动程序会将数据返回为常规 SQL 类型:

  • 将 CHAR 返回为 SQL_CHAR。

  • 将 VARCHAR 返回为 SQL_VARCHAR。

  • 将 TEXT 返回为 SQL_LONGVARCHAR。