gpt4 book ai didi

c# - OracleConnection.Open 抛出 ORA-12541 TNS 没有监听器

转载 作者:太空狗 更新时间:2023-10-29 17:39:24 26 4
gpt4 key购买 nike

所以我通过 C# 连接到外部服务器。我刚刚从这里在我的机器上安装了 Oracle 11g 客户端:http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html (一个 255MB)。

阅读许多博客/问题后,我发现这篇文章很有用:

http://dbaspot.com/oracle-faq/444787-ora-12541-tns-no-listener.html

那么这是正确的吗?我什么都做不了。 DBA 必须编辑 LISTENER.ORA 文件吗?

我的 tnsnames.ora 看起来像这样:

  TestingConnect=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = TestHostName.us.local)(PORT = 1523))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TEST)
)
)

它让我犯了错误:

Oracle.DataAccess.Client.OracleConnection connection = new Oracle.DataAccess.Client.OracleConnection();

connection.ConnectionString = "Data Source=TestHostName.us.local;Persist Security Info=True;" + "User ID=tesName;Password=test";

connection.Open() //Throwing ERR!!!

我该怎么办?我感谢任何意见。谢谢!

最佳答案

您可以通过以下几种方式执行此操作:使用您的 TNSNames 文件,数据源应指定 TNSHosts 条目名称(来自 tnsnames.ora 的第一个“=”之前的位),而不是主机名:

connection.ConnectionString = "Data Source=TestingConnect;Persist Security Info=True;" + "User ID=tesName;Password=test"; 

或者您可以像这样将整个 TNS 条目放入连接字符串中:

connection.ConnectionString = "Data Source=(DESCRIPTION = " +
"(ADDRESS = (PROTOCOL = TCP)(HOST = TestHostName.us.local)(PORT = 1523))" +
"(CONNECT_DATA =" +
"(SERVER = DEDICATED)" +
"(SERVICE_NAME = TEST))" +
");Persist Security Info=True;User ID=tesName;Password=test";

关于c# - OracleConnection.Open 抛出 ORA-12541 TNS 没有监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12571379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com