SSRS:Oracle TNS:监听器错误?

时间:2010-02-16 17:08:58

标签: oracle reporting-services ora-12514

我有一份使用Business Object Provider的SSRS报告。该DLL与Oracle服务器有连接。每当我运行报告时,我都会收到此错误消息:

“Oracle.DataAccess.Client.OracleException ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务”

任何人都知道为什么?

2 个答案:

答案 0 :(得分:1)

听起来你安装了oracle客户端,但还没有设置你的TNS监听器。

应该有一个名为“tnsnames.ora”的文件,在该文件中你需要添加一个新的监听器。如果是Windows安装,则可能还有网络配置GUI。

答案 1 :(得分:0)

如果您选择这样做,一般的tnsnames.ora条目将如下所示:

DBAlias =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
    (CONNECT_DATA = (SERVICE_NAME = YourDBServiceName))
  )

您的tnsnames.ora文件通常位于ORACLE_HOME / network / admin目录中。

从技术上讲,你不是“创建一个监听器”,而是为Oracle客户端网络连接字符串定义一个别名,它将在某个地方引用一个监听器。

或者,您可以指定EZConnect字符串,如果您不想/不能使用tnsnames.ora条目:

"Data Source=//yourserver:1521/yourDB;User ID=theUser;Password=thePW"

您需要在sqlnet.ora文件中输入以下内容:

NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)