I have a SSRS report which is using Business Object Provider. Th开发者_运维技巧e dll has a connection with Oracle server. Whenever i run the report i keep on getting this error message:
"Oracle.DataAccess.Client.OracleException ORA-12514: TNS:listener does not currently know of service requested in connect descriptor "
Anyone knows why?
It sounds like you installed the oracle client but have not yet set up your TNS listeners.
There should be a file called "tnsnames.ora" and inside that file you need to add a new listener. If it's a windows install there might also be a network configuration GUI.
A general tnsnames.ora entry would look like this if you choose to go that way:
DBAlias =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
(CONNECT_DATA = (SERVICE_NAME = YourDBServiceName))
)
Your tnsnames.ora file typically resides in the ORACLE_HOME/network/admin directory.
Technically speaking, you're not "creating a listener", rather, you're defining an alias for an Oracle client network connect string, which will refer to a listener somewhere.
Alternatively, you can specify an EZConnect string, if you don't want to/can't mess with tnsnames.ora entries:
"Data Source=//yourserver:1521/yourDB;User ID=theUser;Password=thePW"
You will need an entry in the sqlnet.ora file to the effect of:
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
精彩评论