12154 Oracle Error Code
Contents |
while creating a linked server to Oracle ★★★★★★★★★★★★★★★ SnehadeepJune 30, 201028 0 0 0 This is one of the most common errors while creating linked
Oracle Error 12154 Received Logging On To The Standby
server to Oracle database. Today I will discuss the reason for oracle error 12154 encountered this error and possible resolutions.
Full error message: OLE DB provider "MSDAORA" for linked server "LINKED_ORA"Operation Generated Oracle Error 12154
returned message "ORA-12154: TNS:could not resolve the connect identifier specified".
Msg 7303, Level 16, State 1, Line 1 Cannot initialize the data source object of OLE ora 12154 could not resolve the connect identifier specified DB provider "MSDAORA" for linked server "LINKED_ORA". First of all make sure you have reviewed the following Microsoft KB article that has a lot of good information on troubleshooting Oracle linked server issues. How to set up and troubleshoot a linked server to an Oracle database in SQL Server http://support.microsoft.com/kb/280106 Also make sure you have ora-12154 tns could not resolve the connect identifier specified windows 7 installed Oracle Client on the SQL server. If the SQL server is 64 bit then we need to install 64 bit Oracle provider. You can also create linked server using Oracle ODBC driver together with Microsoft OLE DB provider for ODBC. Once again on a 64 bit SQL server you need to install the 64-Bit OLEDB Provider for ODBC (MSDASQL) and 64 bit Oracle ODBC drivers. However 64-Bit OLEDB Provider for ODBC (MSDASQL) is already there in Windows Vista/Windows Server 2008 and later OS. This particular error message is a very general error message and can happen for quite a number of reasons. For general understanding of the error, you can review oracle documentation like this http://ora-12154.ora-code.com/ In SQL Server Linked Server, it could indicate a few things (not limited to)– 1. SQL Server (and oracle net libraries) is not able to get the TNS alias from tnsnames.ora file. 2. Something is wrong with the way the alias is created in the tnsnames.ora file (incorrect syntax)server but either failed to contact the server or did not find a matching service name on that server. TNS or 'Transparent Network Substrate'
Tns Could Not Resolve The Connect Identifier Specified Oracle 10g
is a transport protocol that allows Oracle sessions to communicate across a asp.net ora-12154: tns:could not resolve the connect identifier specified network. DB Server <=> Listener <=> Network connection <=> Client (SQL*Net) <=> Application. In the path above, tnsping
Ora-12154 Sqlplus
can be used to test the parts in bold and should be the first troubleshooting step. If tnsping fails, that generally indicates a problem finding the server connection - if https://blogs.msdn.microsoft.com/dataaccesstechnologies/2010/06/30/ora-12154-tns-could-not-resolve-the-connect-identifier-specified-error-while-creating-a-linked-server-to-oracle/ TNSNAMES specifies an IP address, is it correct?, if it's a DNS name, is that resolving correctly? (try switching for an IP address to find out.) If tnsping succeeds, that can indicate a problem with the client configuration but could equally be that the connection is working as far as the listener but the database is down. Try comparing with another http://ss64.com/ora/syntax-ora-12154.html PC - if multiple machines are failing that usually points towards a server issue. Ora-12154 can be a tricky problem to nail down because there are many possible causes, try making a connection directly on the server or completely regenerate the TNSNAMES.ORA file on the client. ORA-12154 description: 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: 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 fi
The database name isn't in the tnsnames.ora file 2.4 If you are using Oracle Names What causes this error?[edit] An ORA-12154 http://www.orafaq.com/wiki/ORA-12154 error occurs when a user attempts to logon to an Oracle database. The tnsnames.ora file was not found or has a syntax error. The Oracle communications software (SQL*Net http://www.bluegecko.com/ora-12154-tnscould-not-resolve-the-connect-identifier-specified/ or Net8) did not recognize the database connect descriptor. For GUI utilities, this is the name entered in the third field of the ORACLE logon box. How to fix oracle error it[edit] Incorrect Syntax[edit] A syntax error anywhere in tnsnames.ora can cause this message. Check for unmatched parentheses or stray characters. For example, if host string=oracle; database IP address=192.168.100.1 and sid=ss then it should look like this: oracle.world = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (Host = 192.168.100.1) (Port = 1521) ) (CONNECT_DATA = (SID = ss) ) could not resolve ) Missing, wrong location, or bad tnsnames.ora[edit] Ensure that you do have a tnsnames.ora file defined on the client and in the tnsnames.ora is the descriptor alias that you are specifying in the connect string. Some users have their own copies of this file stored on their local hard disks. Others use a shared version kept in an OID or Oracle Names Server. Also ensure that the file can be accessed (chmod 644). The tnsnames.ora can be in one of 3 locations. Oracle first checks to see if TNS_ADMIN is set and looks in the directory the environment variable is pointing to. Secondly it checks /etc Finally it checks $ORACLE_HOME/network/admin. The database name isn't in the tnsnames.ora file[edit] Check to see that the database name exists in one of the TNSNAMES.ORA files and add it if necessary. If you are using Oracle Names[edit] Use the Names Control Utility STATUS or PING commands to see if a Names Server is available. For example, enter the following: namesctl status names_server_name Use the Name
Blog Oracle MySQL News & Events Oracle Applications Amazon Web Services Jeremiah Wilton's Oradeblog OurSQL Community Podcast Remote DBA Team viewer Whitepapers About Us Philosophy The Blue Gecko Teams Employment Opportunities Partners News Press Contact Us March 4, 2009 by jwilton ORA-12154: TNS:could not resolve the connect identifier specified The error also appears in some versions as: "ORA-12154: TNS:could not resolve service name." When a program needs to connect to an Oracle service via Oracle Networking (SQL*Net), it must look up the connect data for that service somewhere. When the lookup fails, the Oracle client code raises ORA-12154. Most people will encounter this error when their application tries to connect to an Oracle database service, but it can also be raised by one database instance trying to connect to another database service via a database link. Note that this error is generated by the Oracle client code on the local host where the program is running, not by the remote Oracle service to which you are attempting to connect. There are a few ways that the Oracle client code can look up connect data: A flat file named tnsnames.ora Oracle Names service LDAP If you see the whole ORA-12154 error with the text, then your program is finding a working Oracle client install, but that the Oracle service as specified is not listed in tnsnames.ora, Oracle Names or LDAP. The most common causes of ORA-12154 are: The entry is missing from tnsnames.ora The entry in tnsnames.ora is malformed The program is using tnsnames.ora from the wrong ORACLE_HOME The program is not using a fully-qualified service name, but no default domain is enabled in sqlnet.ora Most sites use tnsnames.ora, but enough use Oracle Names and LDAP that the first step should be to determine which name resoluti