2012-01-17 107 views
1

在我的机器中使用.net OracleClient连接Oracle中的数据库。当我试图连接它显示此TNS错误。TNS:无法解析.NET中指定的连接标识符OracleClient

现在,我编辑了tnsnames.ora文件和sqlnet.ora文件。 当我使用ServerExplorer访问Oracle时。它连接到Oracle数据库并获取所有内容。

我确实有一个来自oracle网站本身的ODAC组件,我也尝试过但是dint可以工作。

我的连接字符串是<add name="netOracleClient" connectionString="Data Source=ff.WORLD;Persist Security Info=True;User ID=vlc;Password=vlc;Unicode=True" providerName="System.Data.OracleClient" /> <add name="ConnectionString" connectionString="DATA SOURCE=ff.WORLD;PASSWORD=vlc;USER ID=vlc" providerName="Oracle.DataAccess.Client" />

我试图在这两个组件ServerExplorer。它与服务器资源管理器一起工作并且即时获取数据。 但是,当我写代码其抛出我这个错误ORA-12154: TNS:无法解析指定的连接标识

这是我试图连接的代码。

OracleConnection con = new OracleConnection(WebConfigurationManager.ConnectionStrings["netOracleClient"].ConnectionString); 

告诉我一种方法来解决这个问题?

注意:我们有自己的计算机,我们使用OracleClient for .net通过相同的TNS访问同一个数据库。我也想用相同的..

请帮我这个。

回答

0

现在它为我工作。 我们遵循的步骤是这样做的。

  • 我们注意到我们有一个以上的TNSNames.ORA文件。
  • 然后我们可以发现它指向Oracle客户端版本8.x.So它是 无法正常工作。因此,对于它的工作...
  • 我们删除所有的Oracle客户端版本(因为我们无法 到VisualStudio的Oracle客户端指向一个更新的版本)

  • 再重新安装它。重新启动后,它开始工作。

0

我们有ODAC做工精细与此连接字符串,

<ConnectionString name="ServerConnection">Data Source=PROD;User Id=DBUSER1;Password=DBPASSWORD1;Pooling=False;</ConnectionString> 
与tnsnames.ora中定义数据源

在一起 - PROD同样喜欢在ORACLE /网络/管理员文件夹中的样本tnsnames.ora文件。

的tnsnames.ora条目变成这样

DDSENT3 =  
    (DESCRIPTION =   
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.10)(PORT = 1521))  
    (CONNECT_DATA =  
     (SERVER = DEDICATED)  
     (SERVICE_NAME = DDSENT3)  
    ) 
) 
+0

我已经做了所有这些但仍然没有工作。 :( – smilu 2012-01-23 09:36:23

0

尝试添加以下到您的web.config

<oracle.manageddataaccess.client> 
    <version number="*"> 
     <settings> 
     <!-- Set this path if you are using TNS aliases as connection strings (not recommended) --> 
     <!-- Instead you can use "SERVER_NAME:PORT/SERVICE_NAME" as your data source --> 
     <setting name="TNS_ADMIN" value="C:\oracle\product\11.2.0\client_3\Network\Admin\"/> 
     </settings> 
... 

只需添加您的文件夹位置,当然。

相关问题