Welcome to deBUG.to Community where you can ask questions and receive answers from Microsoft MVPs and other experts in our community.
0 like 0 dislike
13.8k views
in SQL Server Reporting Services by 12 12 19
edited by

In SSRS Report Builder, I got this error "ORA-12514: TNS: Listener does not currently know of service requested in connect descriptorwhen I tried to create a new Data Source to connect to Oracle Database.

ORA-12514: TNS Listener does not currently know of service requested in connect descriptor

I didn't understand what this error actually means? Can you help me to fix this problem?


1 Answer

2 like 0 dislike
by 159 198 381
selected by
 
Best answer

This error "ORA-12514: TNS: Listener does not currently know of service requested in connect descriptor" usually occurs if the SERVICE_NAME parameter is not set correctly inside CONNECT_DATA in the Connect descriptor at the tnsnames.ora configuration file.

To can understand this error, we should first know, what's tnsnames.ora file, Connect Descriptor, CONECT_DATA, and SERVICE_NAME.

What's the tnsnames.ora file?

The tnsnames.ora file is a configuration file that contains network service names mapped to connect descriptors for the local naming method, or net service names mapped to listener protocol addresses.

What's the tnsnames.ora file?

What's the Connect Descriptor in TNSNAMES.ORA file?

A connect descriptor contains the location of the listener through a protocol address and the service name of the database to which to connect.

connect discriptor in tnsnames.ora file

What's the CONECT_DATA in TNSNAMES.ORA file?

CONECT_DATA contains the database service identification information, it defines the service to which to connect, such as SERVICE_NAME.

CONNECT_DATA in tnsnames.ora file

What's the SERVICE_NAME in TNSNAMES.ORA file?

SERVICE_NAME identifies the Oracle Database database service to access.

SERVICE_NAME in tnsnames.ora file

In your case, you get this error "ORA-12514: TNS: Listener does not currently know of service requested in connect descriptor" because the SERVICE_NAME parameter value is not set to the correct Oracle Service Name.

How to get the Oracle Database Service Name?

To get the correct Oracle Service Name, you should do the following:

  1. Login to the Oracle Server.
  2. Open the Oracle Server Developer.
  3. In the Connections, Right Click on your Connection Name > and Select Properties.
    How to get the Oracle Database Service name in TNSNAMES.ORA file
  4. In the Database Connections dialog, copy the value of the Service Name.
    configure the service name in TNSNames.ora file in Oracle
  5. In the tnsnames.ora file, set the SERVICE_NAME to the Copied service name from the Oracle Server.
    SERVICE_NAME in tnsnames.ora file
  6. Save the tnsnames.ora file.
  7. Close all opened instances of the Report Builder and reopen it again.
  8. Create your new Data Source, and specify the required values, then click on Test Connection.
  9. The Oracle Data Connection should be established successfully now!
    connect to oracle database from SSRS

See Also

by 12 12 19
0 0
Awesome Mohamed, It was my fault, I didn't follow exactly what you have said in all previous answers, Thanks again for your great effort!
If you don’t ask, the answer is always NO!
...