【发布时间】:2012-09-16 06:54:01
【问题描述】:
所以我通过 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!!!
我该怎么办?我感谢任何cmets。谢谢!
【问题讨论】:
-
您确定您的主机名“TestHostName.us.local”是正确的吗?您是否从命令行使用“tnsping TestingConnect”检查数据库是否可访问?
-
这个错误有很多原因。如果您想消除必须有一个 TNSNames.ora 条目,您可以尝试使用 TNS-less 连接字符串。见 ... connectionstrings.com/oracle 只是看看这是否有效。这可能无法解决问题,但可以消除 TNSNames.ora 的问题。
标签: c# oracle oracle11g database-connection connection-string