Teradata

本主题介绍如何将 Tableau 连接到 Teradata 数据库或 Teradata Unity 服务器并设置数据源。

开始之前

在开始之前,请收集以下连接信息:

  • 对于 Teradata 数据库:要连接到的服务器的名称

  • 对于 Teradata Unity 服务器:键入要连接到的服务器的 URL

  • 身份验证方法:Teradata 数据库、LDAP 或集成身份验证

  • 用户名称和密码,具体取决于环境

  • 是否需要加密的连接?

  • (可选)要在每次 Tableau 连接时运行的查询分段和初始 SQL 语句

需要驱动程序

此连接器需要驱动程序才能与数据库通信。计算机上可能已经安装了所需的驱动程序。如果计算机上未安装该驱动程序,Tableau 将在连接对话框中显示一条错误消息,其中包含指向驱动程序下载(链接在新窗口中打开)页面的链接,您可在该页面中找到驱动程序链接和安装说明。

进行连接并设置数据源

  1. 启动 Tableau,并在“连接”下选择“Teradata”。有关数据连接的完整列表,请在“至服务器”下选择“更多”。然后执行以下操作:

    1. 输入承载要连接到的数据库的服务器的名称。

      注意:可通过在“服务器”文本框中输入适当的 URL 来连接到 Teradata Unity 服务器。

    2. 选择登录到服务器的方式。指定是使用内置的“Teradata 数据库”身份验证、“LDAP”还是“集成身份验证”

      如果该服务器由密码保护,而您不在 Kerberos 环境中,则您必须选择“Teradata 数据库”“LDAP”并输入用户名和密码。

    3. 如果需要加密连接,请选中“需要加密”复选框。

    4. (可选)选择“查询分段和初始 SQL”

    5. 选择“登录”

      如果 Tableau 无法建立连接,请验证您的凭据是否正确。如果仍然无法连接,则说明您的计算机在定位服务器时遇到问题。请联系您的网络管理员或数据库管理员。

  2. 在数据源页面上,执行下列操作:

    1. (可选)在页面顶部选择默认数据源名称,然后输入要在 Tableau 中使用的唯一数据源名称。例如,使用可帮助其他数据源用户推断出要连接的数据源的数据源命名约定。

    2. “数据库”下拉列表中,选择搜索图标,或在文本框中输入架构名称并选择搜索图标,然后选择数据库。

    3. “表”文本框中,选择搜索图标,或输入表名称并选择搜索图标,然后选择表。

      还可指定数据库中的存储过程。有关详细信息以及特定于 Teradata 数据库的约束的列表,请参见使用存储过程

    4. 将表或存储过程拖到画布,然后选择工作表标签以开始分析。

      使用自定义 SQL 连接到特定查询,而非整个数据源。有关详细信息,请参见连接到自定义 SQL 查询

登录到 Mac

如果在 Mac 上使用 Tableau Desktop,则在输入服务器名称进行连接时,请使用完全限定的域名(例如 mydb.test.ourdomain.lan)而不是相对域名(例如 mydb 或 mydb.test)。

或者,可以将域添加到 Mac 计算机的“搜索域”的列表中,以便在您连接时,只需要提供服务器名称。若要更新“搜索域”的列表,请转到“系统首选项”>“网络”>“高级”,然后打开“DNS”选项卡。

使用查询范围提高性能

在连接到 Teradata 数据库时,您可以根据需要定义在连接期间运行的查询集束语句。这些语句可提高性能,并且,它们利用数据库的内置安全规则。

可以使用查询集束将参数传入 Teradata 环境。可使用这些参数来设置工作簿,以基于数据库中存在的安全规则来筛选数据。例如,可以传入当前用户的 Tableau Server 用户名,以便在加载视图时仅显示该用户的特定数据。查询集束还有助于提高性能。在连接到 Teradata 时,可以定义传入查询集束的属性名称与 Tableau 中相应值之间的映射。

注意:此功能目前不支持用于 Web 制作。

设置查询集束:

  1. 在数据源页面上,选择“数据”>“查询分段和初始 SQL”

  2. 在随后显示的对话框中,在上方标有“集束查询”的文本框中指定名称/值对。可使用“插入”下拉菜单添加 Tableau 值。下表说明了 Tableau 值。
    描述示例
    <TableauMode>生成查询时 Tableau 的运行模式。在检索元数据时,此值为“Connect”;在检索实际数据时,此值为“Analytical”。“Connect”或“Analytical”
    <LoginUser>登录数据库的人员的用户名。jsmith
    <ServerUser>

    登录的服务器用户。不包括域名。

    注意: ProxyUser 返回与 ServerUser 相同的值。但是,ProxyUser 会设置模拟并将 Tableau Server 用户存储在查询区间参数中。如果出于安全目的使用查询分段,您应改用 ProxyUser。这将确保查询结果不会在不同用户之间共享。ServerUser 只应用于审计目的。

    jsmith
    <ServerUserFull>

    登录服务器用户包括域名(如果服务器使用 Active Directory)。

    注意: ProxyUserFull 返回与 ServerUserFull 相同的值。但是,ProxyUserFull 会设置模拟并将 Tableau Server 用户存储在查询区间参数中。如果出于安全目的使用查询分段,您应改用 ProxyUserFull。这将确保查询结果不会在不同用户之间共享。ServerUserFull 只应用于审计目的。

    domain.lan\jsmith
    <ProxyUser>

    在服务器上设置模拟时使用。提供当前服务器用户的用户名。

    jsmith
    <ProxyUserFull>

    在服务器上设置模拟时使用。提供当前服务器用户的用户名和域名。

    domain.lan\jsmith
    <TableauApp>Tableau 应用程序的名称。Tableau Desktop Professional 或 Tableau Server
    <TableauVersion>Tableau 应用程序的版本6100.11.0428.0300
    <WorkbookName>工作簿名称。请注意,这只适用于嵌入在工作簿中的数据源。Financial-Analysis

下面显示了一个示例查询分段语句。本示例将传递当前服务器用户的用户名。

ApplicationName=<TableauApp>Version=<TableauVersion>ProxyUser=<ProxyUser>TableauMode=<TableauMode>

在键入时,Tableau 会检查语句有无错误。如果语句是有效语句,文本框的底部会显示一个绿色对勾符号。

使用初始 SQL 命令

连接到 Teradata 数据库时,可以根据需要指定将在连接时运行一次的 SQL 命令。请参见运行初始 SQL以了解有关将这些命令添加到连接的更多信息。

注意: 如果 Tableau 检测到无法在一个查询中提供初始 SQL 有效负载,它会尝试将查询拆分成不同的语句,其中每个语句必须以分号结尾,后跟一个换行符,两者之间不能存在任何其他字符(例如额外的空格)。此要求非常重要,因为如果语句内部存在分号(例如在字符串文本内),则可能无法安全地在该位置拆分语句。如果您在 Tableau 中指定的初始 SQL 代码返回错误,而 Teradata 数据库将该初始 SQL 代码视为有效,则 Tableau 可能已错误地拆分查询。如果出现这种情况,请尝试在 Tableau 中手动重新设置 SQL 代码的格式。

 

另请参见

感谢您的反馈!