【问题标题】:Remote ORACLE server connection string远程 ORACLE 服务器连接字符串
【发布时间】:2023-03-09 11:11:01
【问题描述】:

我有一台 winxp 远程 Oracle 服务器和一台装有 IIS 的 Windows 7 机器。

我将在 win7 机器上托管一个站点,从我的 winxp 机器上的 Oracle DB 获取信息。

但是,当我加载我的网页时,我得到 ORA-12154: TNS: 无法解析指定的连接标识符

在我的 Tnsname.Ora 上,我有以下信息:

ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 157.xxx.xx.xxx)(PORT = 1521))
    (CONNECT_DATA =

    (SERVICE_NAME = ORCL.company.net)
    )
    )

奇怪的是,当我尝试通过 WIN7 中的 sqlplus 进行连接时,我可以通过提供以下凭据来做到这一点:

$ sqlplus MyUser/MyPass@ORCL

我得到的ConnectionString如下:

有没有人知道可能出了什么问题?

连接字符串在我的本地开发机器上工作,带有一个看起来几乎相同的 tnsnames.ora 文件。

任何帮助将不胜感激!

【问题讨论】:

    标签: asp.net oracle connection-string oracle11gr2


    【解决方案1】:

    您是否尝试过使用直接连接字符串,例如

    Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=157.xxx.xx.xxx)(PORT=1521))
         (CONNECT_DATA=(SERVICE_NAME=ORCL.company.net)));User Id=MyUser;Password=MyPass;
    

    【讨论】:

    • +1 使用这种方法,您不必担心 tnsnames.ora 文件或找到它的路径。所有信息都包含在连接字符串中。
    • @Andomar 你在'provider'标签里写了什么?
    【解决方案2】:

    如果您将系统环境变量 TNS_ADMIN 设置为指向 tnsnames.ora 文件所在的目录,它对您的 Web 服务有帮助吗?在我看来,您的网络服务器正在查看错误的目录,因为它说它无法解析名称。

    【讨论】:

    • 在哪里可以找到这个 TNS_ADMIN?我对 oracle 比较陌生...感谢您的回复!
    • 您在计算机属性中将其设置为系统环境变量。您的 tnsnames.ora 文件通常位于客户端 Oracle 主目录的 network\admin 文件夹中。
    【解决方案3】:
    Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=157.xxx.xx.xxx)(PORT=1521)) 
         (CONNECT_DATA=(SID=NETBDS)));User Id=MyUser;Password=MyPass; 
    

    试试这个方法怎么样?

    【讨论】:

      猜你喜欢
      • 2012-03-04
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多