2012-09-17 24 views
1

在.Net(3.5)C#和Oracle Express 10g中开发应用程序。当我尝试connecto到数据库中,我得到这个错误:尝试使用OracleConnection连接到使用C#的Oracle Express 10时出错

从的OracleConnection对象我,在ServerVersion属性:

ServerVersion = 'conn.ServerVersion' produjo una excepción de tipo 'System.InvalidOperationException'

,并在catch:

ORA-12154: TNS:could not resolve the connect identifier specified

我正在使用此连接字符串:

Data Source=Angelo-HP/XE;User ID=MAPFRE;Password=123456;

我的tnsnames.ora设置:

XE = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = Angelo-HP)(PORT = 1521)) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = XE) 
) 
) 

EXTPROC_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) 
) 
    (CONNECT_DATA = 
    (SID = PLSExtProc) 
    (PRESENTATION = RO) 
) 
) 

ORACLR_CONNECTION_DATA = 
(DESCRIPTION = 
    (ADDRESS_LIST = 
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) 
) 
    (CONNECT_DATA = 
    (SID = CLRExtProc) 
    (PRESENTATION = RO) 
) 
) 

和我的sqlnet.ora是这样的:

SQLNET.AUTHENTICATION_SERVICES = (NTS) NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, HOSTNAME)

任何想法,为什么我无法连接?

谢谢。

+0

尝试在连接字符串中将数据源设置为XE。你能翻译英文的错误信息吗?更容易理解我们;-) – Koen

+0

'conn.ServerVersion'类型'System.InvalidOperationException'发生的异常 TNS:无法解析指定的连接标识 –

+0

使用ODP.NET ?. – Reniuz

回答

0

连接字符串被提及作为

Data Source=Angelo-HP/XE;User ID=MAPFRE;Password=123456; 

这意味着它的寻找安杰洛-HP/XE,这是不存在的TNS名称,因此您收到错误消息

的TNSNAME

将其更改为

Data Source=XE;User ID=MAPFRE;Password=123456; 
+0

仍然是错误 –

+0

打开命令提示符,键入'tnsping XE'。它说什么? @Angelo – Sathya

+0

它说:TNS-03505:无法解析名称 –

0

您应该在我的评论中提到的数据源,属性更改为XE。

Data Source=XE;User ID=MAPFRE;Password=123456; 

此外,您还必须确定您的tnsnames中的标识符前没有空格。

另一件事:如果你有多个oracle客户端安装,你必须确保这个条目是在正确的tnsnames。

+0

连我做到了,现在我的连接字符串是: 数据源= XE;用户ID = MAPFRE;密码= 123456; 我只有一个oracle客户端是oracle express 10g。它是我第一次安装oracle。 –

相关问题