SSRS:Oracle TNS:侦听器错误?

发布于 2024-08-21 23:00:09 字数 175 浏览 9 评论 0原文

我有一个使用业务对象提供程序的 SSRS 报告。该dll与Oracle服务器有连接。每当我运行报告时,我都会不断收到此错误消息:

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

有人知道为什么吗?

I have a SSRS report which is using Business Object Provider. The dll has a connection with Oracle server. Whenever i run the report i keep on getting this error message:

"Oracle.DataAccess.Client.OracleException ORA-12514: TNS:listener does not currently know of service requested in connect descriptor "

Anyone knows why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不打扰别人 2024-08-28 23:00:09

听起来您安装了 oracle 客户端,但尚未设置 TNS 侦听器。

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

It sounds like you installed the oracle client but have not yet set up your TNS listeners.

There should be a file called "tnsnames.ora" and inside that file you need to add a new listener. If it's a windows install there might also be a network configuration GUI.

把昨日还给我 2024-08-28 23:00:09

如果您选择这样做,一般 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 客户端网络连接字符串定义别名,该别名将引用某处的侦听器。

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

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

您将需要在 sqlnet.ora 文件中添加一个条目,以达到以下效果:

NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)

A general tnsnames.ora entry would look like this if you choose to go that way:

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

Your tnsnames.ora file typically resides in the ORACLE_HOME/network/admin directory.

Technically speaking, you're not "creating a listener", rather, you're defining an alias for an Oracle client network connect string, which will refer to a listener somewhere.

Alternatively, you can specify an EZConnect string, if you don't want to/can't mess with tnsnames.ora entries:

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

You will need an entry in the sqlnet.ora file to the effect of:

NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文