6

我是一名新的 (ASP.NET) 开发人员,从现有项目开始,其中一部分连接到 Oracle 数据库。我以前没有使用过Oracle。

在 Web 应用程序尝试连接到 Oracle 时,它​​会引发上述异常。

很多其他帖子都提到了这个例外,但我觉得我已经遵循了所有建议,但无济于事。

这是我的设置的概览:

  1. 我已将 Oracle 客户端版本 11.2.0 安装到主目录“C:\app\TroughT\product\11.2.0\dbhome_1”
  2. 我已将另一台开发人员机器(这一切正常)的 tnsnames.ora 文件添加到“C:\app\TroughT\product\11.2.0\dbhome_1\NETWORK\ADMIN”
  3. 我已将 sqlnet.ora 中的 APP_BASE 变量更改为“C:\app\TroughT\product\11.2.0\dbhome_1\log”
  4. 我(现在)让每个人都可以完全控制整个 dbhome_1 目录和子目录
  5. 在 Oracle 网络管理器中,我使用 ASP.NET 连接字符串中使用的相同安全凭证测试了相关连接,并且测试正常
  6. 我添加了一个 TNS_ADMIN 系统变量,其值为“C:\app\TroughT\product\11.2.0\dbhome_1\NETWORK\ADMIN”

我们一定错过了什么,但我就是不知道是什么。请帮忙!

更新:

我发现用我的 tnsnames.ora 文件中的完整定义替换连接字符串中的 SID 确实有效。下面的例子。一定与 ASP.NET 未能找到我的 tnsnames.ora 文件有关,但我知道该文件是有效的,并且据我所知,我的所有系统变量都指向正确的位置。所以至少我现在正在工作,但我想了解为什么我的 tnsnames.ora 文件不起作用。

失败的连接字符串:

"Data source=RMSUSNAP;User ID=uuuu;Password=pppp;"

工作连接字符串:

"Data source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = replaced.host.name)(PORT = 1521))(CONNECT_DATA =(SID = rmsusnap)));User ID=uuuu;Password=pppp;"

tnsnames.ora 的相关部分:

RMSUSNAP.WORLD =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = replaced.host.name)(PORT = 1521))
    (CONNECT_DATA =(SID = rmsusnap))
    )
4

4 回答 4

3

您应该在连接字符串中使用 RMSUSNAP.WORLD,而不仅仅是“RMSUSNAP”。

于 2013-02-06T14:08:45.173 回答
2

你检查过这个问题吗?

我上次使用 Oracle 已经很长时间了,但我确实记得至少花了几天时间让它在我的 Windows 7 x64 机器上正常工作。

我记得改变的最后一件事是环境变量(ORA_HOME,如果我没记错的话)指向正确的文件夹(在我的例子中是 x64)。

很抱歉,我不记得更多(将尝试搜索任何笔记),但我提到的链接可能会让你走上正确的道路。

于 2013-01-23T18:53:55.637 回答
0

当我遇到(曾经)相同的问题和错误时...确保您的 sqlnet.ora 文件没有将其他连接信息添加到存储在 TNSNAMES.ora 文件中的连接之前。通常,我们只是删除 sqlnet.ora 文件或重命名为其他文件(sqlnet.ora.org)。一旦此文件不再向连接字符串添加其他信息,blammo,一切都会正常工作。

于 2013-12-03T21:20:15.017 回答
0

刚遇到这个问题:进入 IIS 并在 下查找 Web 应用程序Sites,然后单击 Web 应用程序并单击SSL Settings。在客户端证书下单击Accept单选按钮并应用。

于 2021-04-21T19:09:09.823 回答