过去两周我一直在为此寻找解决方案,并尝试了网络上提到的所有方法,但仍未弄清楚为什么仍然会发生这种情况!
我能够从 SQL Plus 连接到 Oracle 数据库,但是当我尝试从 C# 连接到它时,出现以下错误。
{"ORA-12514: TNS:listener does not currently know of service requested in connect descriptor"} System.Exception {Oracle.ManagedDataAccess.Client.OracleException}
SQL plus 正在使用 LDAP 解析连接,但在 C# 中我尝试了以下连接字符串,
//string strConnectString = "Data Source=XYZ;User ID=user;Password=pwd";
string strConnectString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ABC1234.Xyz.abc)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=XYZ)));User ID=user;Password=pwd";
但是两个连接字符串都导致了错误,我正在使用 Oracle.ManagedDataAccess.Client 进行连接。
各位专家能否指导我正确的方向?
最佳答案
只是将连接字符串改为SID而不是Service_Name,非常感谢指导我正确方向的好 friend 。
string strConnectString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ABC1234.Xyz.abc)(PORT=1521)))(CONNECT_DATA=(SID=XYZ)));User ID=user;Password=pwd"
关于c# - 连接到 Oracle 时出错,TNS :listener does not currently know of service requested in connect descriptor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31199903/