Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

Posted on 2011-09-29
4
8,192 Views
Last Modified: 2012-05-12
Howdy,

I need to develop some reports using SSRS which will connect to a Oracle instance, which is hosted on another machine, as their data source. I have downloaded and installed "Oracle Data Access Components for Windows" from http://www.oracle.com/technetwork/indexes/downloads/index.html 

 Downloaded & Installed.
I also created an 'New Project > Business Intelligence Projects > Report Server Project'  in SQL Server Business Intelligence Development Studio (BIDS) and have attempted to add a 'Shared Data Source', but I am receiving the error below when testing the connection:

 Error when creating Shared Data Source in BIDS.

I have read up on the issue and saw solutions mentioning the listener.ora & tnsnames.ora files, where additions/edits need to be made. I have done a search for both these files on my machine and do not seem to have either of them.

I have done a search for listener.ora & tnsnames.ora on the machine that hosts the Oracle instance and they are found on that machine, a few instances of each actually, can I move these files to my PC and if so which ones, i.e. see below for files found:

 Search results on Oracle instance machine.
I do not have much experience with Oracle, only other databases so any help would be greatly appreciated.

Thanks,
SpaceLaika.

0
Comment
Question by:SpaceLaika
  • 2
4 Comments
 
LVL 12

Accepted Solution

by:
praveencpk earned 500 total points
ID: 36813913
you need to install the oracle client in your machine and configure the tnsnames.ora file for communicating with the oracle server.
0
 
LVL 12

Expert Comment

by:praveencpk
ID: 36813930
0
 
LVL 7

Expert Comment

by:Jacobfw
ID: 36814090
After installing ODAC you should follow these steps on the Client.
see: http://www.oracle.com/technetwork/topics/dotnet/install112012-164342.html

1. Copy the tnsnames.ora file located in the following directory:
ORACLE_HOME\Network\Admin\Sample\
to this directory:
ORACLE_HOME\Network\Admin\

<data source alias> =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <hostname or IP>)(PORT = <port>))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = <database service name>)
)
)

data source alias = the shortcut name given to identify the connect descriptor. In the ODP.NET connection string, developers set the "Data Source" attribute to the data source alias.
hostname or IP = the database server machine's host name or IP address
port = the database server machine's port on which it listens for incoming connection requests. In general, this value is set to port "1521".
database service name = the database's global name
0
 

Author Closing Comment

by:SpaceLaika
ID: 37016921
Thanks!
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
Today, still in the boom of Apple, PC's and products, nearly 50% of the computer users use Windows as graphical operating systems. If you are among those users who love windows, but are grappling to keep the system's hard drive optimized, then you s…
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

790 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question