尝试连接时没有使用tnsnames连接TNS listner错误#

问题描述:

我试图连接到oracle数据库而不必使用TNS名称,但它一直给出这个错误:{“ORA-12504:TNS:listener was not given在CONNECT_DATA“的SERVICE_NAME}尝试连接时没有使用tnsnames连接TNS listner错误#

string oradb = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=105.1.12.190)(PORT=1521))(CONNECT_D‌​ATA=(SERVICE_NAME=OMP1)));User ID=user;Password=pass;"; 

OracleConnection conn = new OracleConnection(oradb); // C# 

conn.Open(); 

OracleCommand cmd = new OracleCommand(); 
cmd.Connection = conn; 
cmd.CommandText = "SELECT cast(Count(*) as varchar(20)) as trig FROM ZDMSN.TRIGGER_TEST"; 

这里是什么在 'TNS名称' 文件:

OMP1= 
(DESCRIPTION= 
    (ADDRESS= 
     (PROTOCOL=TCP) 
     (HOST=105.1.12.193) 
      (PORT=1521) 
    ) 
(CONNECT_DATA= 
    (SID=OMP1) 
    ) 
) 

您有冲突的IP地址(0.193对比.190)。此外,您正在使用TNS名称文件中的SID名称进行连接,但在字符串中使用了SERVICE名称。这可能会或可能不会工作。尝试在连接字符串中指定(SID = OMP1)。

使用下面的连接字符串:

string cadenaDeConeccion = "User Id=AAA111;Password=BBB222;Data Source=CCC333;Connection Timeout=60;Pooling=false" 

在你的情况看起来像:

string cadenaDeConeccion = "User Id=AAA111;Password=BBB222;Data Source=OMP1;Connection Timeout=60;Pooling=false"; 

有关详细信息,你可以看看这个链接:

http://www.systemdeveloper.info/2013/10/oracle-tnsnamesora-network-configuration.html