Click here to Skip to main content
15,892,005 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,
I'm trying to connect to an Oracle Server in this way :

OracleConnection conn;
conn = new OracleConnection("User Id=usr;Password=pass;
Data Source=MyTnsName.world");
conn.Open();


And I got this error :
ORA-12154: TNS:could not resolve the connect identifier specified

The TNS is working, I connect in Toad with this TNS and pingtns is responding.

I have VS2010 and c# WebForm.

Thank you.
Posted
Updated 15-Feb-11 9:22am
v3

Have you tried this yet? (from http://ora-12154.ora-code.com/)

ORA-12154: TNS:could not resolve the connect identifier specified
Cause: A connection to a database or other service was requested using a connect identifier, and the connect identifier specified could not be resolved into a connect descriptor using one of the naming methods configured. For example, if the type of connect identifier used was a net service name then the net service name could not be found in a naming method repository, or the repository could not be located or reached.
Action: - If you are using local naming (TNSNAMES.ORA file):

•Make sure that "TNSNAMES" is listed as one of the values of the NAMES.DIRECTORY_PATH parameter in the Oracle Net profile (SQLNET.ORA)

•Verify that a TNSNAMES.ORA file exists and is in the proper directory and is accessible.

•Check that the net service name used as the connect identifier exists in the TNSNAMES.ORA file.

•Make sure there are no syntax errors anywhere in the TNSNAMES.ORA file. Look for unmatched parentheses or stray characters. Errors in a TNSNAMES.ORA file may make it unusable.

•If you are using directory naming:

•Verify that "LDAP" is listed as one of the values of the NAMES.DIRETORY_PATH parameter in the Oracle Net profile (SQLNET.ORA).

•Verify that the LDAP directory server is up and that it is accessible.

•Verify that the net service name or database name used as the connect identifier is configured in the directory.

•Verify that the default context being used is correct by specifying a fully qualified net service name or a full LDAP DN as the connect identifier

•If you are using easy connect naming:

•Verify that "EZCONNECT" is listed as one of the values of the NAMES.DIRETORY_PATH parameter in the Oracle Net profile (SQLNET.ORA).

•Make sure the host, port and service name specified are correct.

•Try enclosing the connect identifier in quote marks. See the Oracle Net Services Administrators Guide or the Oracle operating system specific guide for more information on naming.

With the help of google I found out these links as well;

http://www.shabdar.org/connect-to-oracle-using-asp-net-and-csharp.html[^]

http://social.msdn.microsoft.com/forums/en-US/adodotnetdataproviders/thread/c3d287f1-e358-4e1c-a6c0-bb9c7cc0649b/[^]
 
Share this answer
 
Comments
TheCodeVB 15-Feb-11 15:49pm    
The TNSNAME is responding to TNSPING and connecting in TOAD. If this works then the tns is on tnsname.ora file.
Sandeep Mewara 16-Feb-11 5:51am    
Good answer.
Hi, i think something wrong with connection string

use this

private static string CONNECTION_STRING =
"User Id=myUserID;Password=myPassword;Data Source=(DESCRIPTION=" +
"(ADDRESS=(PROTOCOL=TCP)(HOST=myserver.server.com)(PORT=yourPort#))" +
"(CONNECT_DATA=(SID=yourSID)));";

u can also use udl file to generate connection string for u.

How to make UDL file?

make txt file, save as filename.udl, file type All files, click save

now run filename.udl

do the settings, test connection, then click ok

now open udl file as txt file, connection string wil be there in last line.


For more details

http://www.codeproject.com/KB/database/C__Instant_Oracle.aspx
 
Share this answer
 
Comments
TheCodeVB 15-Feb-11 15:51pm    
Specifying the connection parameter as you sugest then it works. Thank you.
dontumindit 16-Feb-11 9:16am    
Welcome, Remember me in prayers
dontumindit 16-Feb-11 9:00am    
welcome, remember me in prayers

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900