Oracle

本文介绍如何将 Tableau 连接到 Oracle 数据库并设置数据源。

注意:从 Tableau 2020.2 开始,如果要将使用 net_service_names 的数据源和工作簿发布到 Tableau Server,请务必查看知识库文章 设置 Oracle 连接以使用 TNSNames.ora 或 LDAP.ora 中描述的更改。

开始之前

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

  • 承载要连接到的数据库的服务器的名称以及 Oracle 服务名称和端口,或者 TNS 名称

  • 身份验证方法:集成身份验证或用户名和密码

  • 是否要连接到 SSL 服务器?您必须配置 Oracle 客户端,然后才能将 SSL 用于 Tableau。

    如果您使用的是版本 2020.2 或更高版本,请参见 Oracle JDBC 连接需要 SSL

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

需要驱动程序

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

JDBC 驱动程序与 OCI 驱动程序

从版本 2020.2 开始,Tableau 建议您将 JDBC 驱动程序(可从 驱动程序下载(链接在新窗口中打开)页面获得)与该连接器一起使用。较新的 JDBC 驱动程序解决了 OCI 驱动程序的一些限制,例如没有空间支持或 Linux 上的 Kerberos 委派。

注意:如果使用此连接器的 JDBC 驱动程序遇到问题,则 OCI 驱动程序仍然可用,可以改用该驱动程序。有关说明,请参见驱动程序下载(链接在新窗口中打开)页面。

进行连接并设置数据源

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

    1. 输入服务器名称或 TNS 名称。

      • 如果输入服务器名称,您必须输入 Oracle 服务名称和端口号。

        注意:若要查找正确的服务名称,请打开 tnsnames.ora 文件(默认情况下位于 ORACLE_HOME/network/admin 目录中),然后搜索 net_service_name 部分。使用为 service_name 列出的值 。

      • 如果输入 TNS 名称,请不要输入 Oracle 服务名称和端口号。

    2. 选择登录到服务器的方式。指定是使用集成身份验证还是使用特定的用户名和密码。

      在连接到 SSL 服务器时,选中“需要 SSL”复选框。

    3. (可选)选择“初始 SQL”以指定要在每次连接开始时(例如打开工作簿、刷新数据提取、登录到 Tableau Server 或发布到 Tableau Server 时)运行的 SQL 命令。有关详细信息,请参见运行初始 SQL

    4. 选择“登录”

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

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

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

    2. “架构”下拉列表中,选择搜索图标,或在文本框中输入架构名称并选择搜索图标,然后选择架构。注意:搜索区分大小写。

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

      注意:搜索区分大小写。

      Tableau Desktop 还支持连接到 Oracle 表函数,这些函数出现在“数据源”页面左侧窗格中的“存储过程”下。

      从 Tableau 版本 2020.2 开始,您可以连接到空间列。有关详细信息,请参见连接到数据库中的空间数据(链接在新窗口中打开)

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

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

登录到 Mac

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

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

在 Tableau 中使用网络服务定义

为了在 Tableau 中使用网络服务定义,必须将 TNS_ADMINORACLE_HOME 设置为环境变量。若要将 TNS_ADMIN 设置为环境变量,请使用包含 tnsnames.ora 文件的完整目录路径。若要将 ORACLE_HOME 设置为环境变量,请使用主 Oracle 目录的路径。

将工作簿从 Oracle OCI 连接器迁移到 Oracle JDBC 连接器

如果使用带有 SSL 的 Oracle OCI 连接器创建工作簿,然后尝试使用基于 JDBC 的 Oracle 连接器打开工作簿,则 Tableau 将无法找到相应的 SSL 证书。

迁移工作簿

  1. 将证书从 PKCS12 格式(由 Oracle Wallet 使用)转换为 JKS 格式。使用以下命令:

    keytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass PFX_P12_FILE -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretype jks -deststorepass PASSWORD -destalias ALIAS_NAME

  2. 修改 oracle.properties 以自定义此连接,如下所示:

    javax.net.ssl.trustStore = <新 jks 文件路径>
    javax.net.ssl.trustStoreType = JKS
    javax.net.ssl.trustStorePassword = <新 jks 文件密码>

 

另请参见

感谢您的反馈!您的反馈已成功提交。谢谢!