Teradata | Qlik Cloud帮助
跳到主要内容 跳到补充内容

Teradata

上次更新日期:2026/10/20

Teradata 仅在 Qlik Talend Cloud 数据复制项目中可用作目标。该连接使用 Teradata Parallel Transporter (TPT) API 进行数据加载,并使用 ODBC 进行元数据查询、DDL 请求以及获取来自 Teradata 错误表的信息。

设置连接

在创建复制任务之前,创建并测试到 Teradata 目标的连接。

  1. 在连接中单击创建连接。
  2. 选择 Teradata 目标连接器。
  3. 输入Teradata 连接属性中所述的连接属性。
  4. 点击测试连接并解决报告的任何错误。
  5. 保存连接。

Teradata 连接属性

为 Teradata 目标连接配置以下属性:

Teradata 目标连接属性
部分 属性 描述
数据目标 数据网关(必需) 选择能够访问 Teradata 服务器且已安装所需 Teradata 客户端组件的数据网关。
连接属性 Teradata 服务器(必填) 输入 Teradata 服务器名称或 IP 地址。确保可从所选数据网关访问该服务器。
账户属性 用户(必填) 输入 Teradata 数据库用户名。这是数据库凭据,而不是账户字符串。
密码(必填) 输入 Teradata 服务器数据库用户的密码。这是数据库凭据,而不是账户字符串。
账户字符串 输入 Teradata 数据库管理员分配给该用户的账户字符串。这是数据库服务器登录账户,与 用户 和 密码 凭据不同。
数据库属性 手动输入数据库名称 选择此选项以输入数据库名称。
默认数据库(必填) 输入数据复制到的 Teradata 数据库。数据库必须可供指定用户访问。
加载数据库 单击以发现指定用户可用的数据库。该列表取决于连接是否成功以及用户的数据库权限。
其他连接属性 ODBC 属性 以名称和值对的形式输入其他 ODBC 连接属性。请与您的 Teradata 或 ODBC 管理员确认属性名称和值。

先决条件

在创建目标连接之前,准备该连接所需的 Teradata 环境和访问权限。

  • 确保 Teradata 服务器已安装在您的网络中,并且可从运行所选数据网关的计算机访问。
  • 在数据网关上安装并配置 Teradata ODBC 驱动程序和必需的 Teradata 客户端组件。请勿假设安装在另一台计算机上的驱动程序可供网关使用。
  • 请 Teradata 数据库管理员创建或确定数据库用户,并在需要时提供该用户的密码和账户字符串。

如果您正在根据您的环境调整 Teradata 目标功能,请让 Teradata 数据库管理员验证您的任务是否需要以下权限。除非另有说明,否则这些授权适用于目标数据库;它们不一定是每个 Qlik Talend Cloud 任务的最低权限:

  • GRANT SELECT ON <database>
  • GRANT INSERT ON <database>
  • GRANT DELETE ON <database>
  • GRANT UPDATE ON <database>
  • GRANT EXECUTE ON <database>
  • GRANT EXECUTE FUNCTION ON <database>
  • GRANT EXECUTE PROCEDURE ON <database>
  • GRANT CREATE TABLE ON <database>
  • GRANT DROP TABLE ON <database>
  • GRANT CREATE VIEW ON <database>
  • GRANT DROP VIEW ON <database>
  • GRANT NONTEMPORAL ON <database>
  • GRANT CHECKPOINT ON <database>

数据库用户可能还需要以下用于数据流处理的权限:

  • GRANT CREATE MACRO ON <database>

提供对 Teradata 数据库的访问权限

在连接的 User 属性中输入的用户必须在 Teradata 数据库中注册为用户。在您配置 Teradata 目标连接和数据库之前,Teradata 数据库管理员必须向该同一用户授予访问权限。在连接的 User 和 Password 属性中使用此注册用户的凭据。

有关所需授权,请参阅先决条件中的现有授权列表。

编辑 hosts 文件

若要使所选数据网关能够访问 Teradata 数据库,请将 Teradata 映射添加到数据网关计算机上的 hosts 文件中。

  1. 在所选的数据网关计算机上,打开 Windows 或 Linux hosts 文件。默认路径为:
    • Windows:~:\Windows\System32\drivers\etc\hosts
    • Linux:/etc/hosts
  2. 按以下格式添加 Teradata 映射。在数据库名称后包含 cop1 后缀:

    <Teradata Database IP address/hostname> <Teradata Database name>cop1

    例如:123.123.123.1 teradatadbonecop1

    确保 hosts 文件中的数据库名称与 默认数据库连接属性匹配。

  3. 保存更改。

排查连接错误

如果连接测试失败,请查看报告的错误并在再次测试连接之前检查以下各项:

  • 网关或网络:确认所选数据网关正在运行,并且能够访问 Teradata 服务器。检查服务器名称或 IP 地址以及网关与服务器之间的任何网络规则。
  • 驱动程序或客户端:确认所选网关上已安装并配置了 Teradata ODBC 驱动程序和所需的客户端组件。安装在本地计算机上的驱动程序不会被远程网关使用。
  • 凭据或权限:与 DBA 确认区分大小写的用户和密码、可选的账户字符串以及所需的数据库权限。
  • 数据库发现:如果加载数据库未返回任何数据库或出现错误,请先测试连通性,然后确认该用户能够发现并访问这些数据库。如适用,您可以通过手动输入数据库名称进入已知数据库。
  • ODBC 属性:检查每个 名称 和 值 对的拼写、支持的值以及与驱动程序配置的冲突。删除导致连接测试失败的可选属性,或请 ODBC 管理员进行验证。

数据类型

下表描述了从 Qlik Talend Cloud 数据类型到 Teradata 数据类型的默认映射。

信息注释

Teradata 不支持在 批量优化应用 模式下对二进制数据类型应用更改。

Teradata 目标数据类型映射
Qlik Talend Cloud 数据类型 Teradata 数据类型
BOOLEAN BYTEINT
BYTES VARBYTE (大小)。最大大小为 640,000 字节。
DATE DATE
TIME TIME(精确度)
DATETIME TIMESTAMP (精确度)
INT1 BYTEINT
INT2 SMALLINT
INT4 INTEGER
INT8 BIGINT
NUMERIC 如果小数位数为 0 到 37,则为 NUMERIC (精确度, 小数位数)。如果标度为 38 或更大,则为 VARCHAR (45)。
REAL4 FLOATTeradata FLOAT 等同于 REAL 和 DOUBLE PRECISION。
REAL8 FLOAT
STRING VARCHAR (size),最多 64,000 字节。如果子类型是 JSON,则改用 JSON。
UINT1 BYTEINT
UINT2 SMALLINT
UINT4 INTEGER
UINT8 BIGINT
WSTRING VARCHAR (size),最多 640,000 字节。如果子类型是 JSON,则改用 JSON。
BLOB VARBYTE(${MAX_LOB_SIZE})。MAX_LOB_SIZE 是为受限大小 LOB 处理指定的最大 LOB 大小。
CLOB VARCHAR(${MAX_LOB_SIZE}),使用 Unicode 不区分大小写的字符集。MAX_LOB_SIZE 是为受限大小的 LOB 处理指定的最大 LOB 大小。如果子类型是 JSON,则改用 JSON。
NCLOB VARCHAR(${MAX_LOB_SIZE}),使用不区分大小写的字符集。MAX_LOB_SIZE 是为受限大小的 LOB 处理指定的最大 LOB 大小。如果子类型是 JSON,则改用 JSON。
信息注释

LOB 限制:Teradata 不支持完整的 LOB 数据类型。目标改为使用受限大小的 LOB 映射。Teradata 行的总大小不能超过 64 KB,因此在设置最大 LOB 大小时需包含所有列的大小。

对于 CLOB 和 NCLOB 列,字符长度默认乘以 3 以支持 NLS。这可能会增加生成的 Teradata 列和行大小。

不支持 Teradata PERIOD 数据类型。

限制和考虑事项

  • 可用的复制模式包括 全量加载、应用更改和 存储更改。
  • 对于使用 应用更改 或 存储更改 的任务,不支持 DDL 操作和自动模式演变。此限制不适用于仅全量加载任务。
  • 对于 Load 模式,目标表必须为空且不能包含二级索引。当任务需要持续的 DML 处理或并发表查询时,选择 Stream。

相关信息

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!