知识库

在未使用 TNSNames.ora 的情况下连接到 Oracle 时出现“ORA-12154”错误


发布时间: 01 Aug 2014
上次修改日期: 03 Jan 2019

问题

当您创建新的 Oracle 数据库连接时,或尝试打开连接到 Oracle 数据库的已发布工作簿时,如果在初始连接期间配置了所有三个连接参数(“服务器”“服务”“端口”),则可能会出现以下错误:

Oracle 数据库错误 12154:ORA-12154:TNS:无法解析指定的连接标识符

当您尝试使用“服务器”参数内 TNSNames.ora 文件中的服务名称连接到同一 Oracle 数据库,并将其他两个参数留空时,连接成功。

环境

  • Tableau Server
  • Tableau Desktop
  • Oracle

解决方案

选项 1:

与您的 Oracle 数据库管理员一起允许在运行 Tableau Desktop 或 Tableau Server 的计算机上使用 Oracle 客户端的 HOSTNAME 连接类型。

选项 2:

以下解决方法可能允许使用 HOSTNAME 连接类型:

  1. 在运行 Tableau Desktop 或 Tableau Server 的计算机上,查找 sqlnet.ora 文件。包含该文件的文件夹应该在 TNS_ADMIN 变量中指定,也应该包含 TNSNames.ora 文件。有关详细信息,请参见 Oracle 常见问题中将 Oracle 连接设置为使用 TNSNames.oraSqlnet.ora 内的“设置 TNS_Admin 环境变量”。
    注意:如果此文件夹不包含 sqlnet.ora 文件,请创建一个 sqlnet.ora 文件。
  2. 在 sqlnet.ora 文件中,修改 NAMES.DIRECTORY_PATH 行以显示以下行或将以下行添加到 sqlnet.ora 文件中:
    NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, HOSTNAME)
注意:如果 Tableau Server 分布式环境中出现此问题,请在 Tableau Server 安装过程中在所有计算机上执行上述步骤。

原因

Sqlnet.ora 文件不允许 Oracle 驱动程序使用所有三个连接参数查找数据库。
此文章是否已解决问题?