2010-02-16 4 views
0

J'ai un rapport SSRS qui utilise Business Object Provider. La DLL a une connexion avec le serveur Oracle. Chaque fois que je lance le rapport que je continue à obtenir ce message d'erreur:SSRS: Oracle TNS: erreur d'écouteur?

« Oracle.DataAccess.Client.OracleException ORA-12514: TNS: l'auditeur ne sait pas de service demandé dans le descripteur de connexion »

Tout le monde sait pourquoi ?

Répondre

1

Il semble que vous ayez installé le client Oracle mais que vous n'ayez pas encore configuré vos programmes d'écoute TNS.

Il devrait y avoir un fichier appelé "tnsnames.ora" et à l'intérieur de ce fichier, vous devez ajouter un nouvel écouteur. S'il s'agit d'une installation Windows, il peut également y avoir une interface graphique de configuration réseau.

+0

Que devrais-je ajouter dans un nouvel écouteur? – sanjeev40084

+0

La connexion à une base de données Oracle peut se faire de deux manières, l'une avec une connexion directe: par exemple, hôte + mot de passe + port + schéma. L'autre méthode est via un nom TNS. Vous stockez l'hôte + passe + port dans un fichier tns. Définissez le TNS_ADMIN =/chemin/vers/dossier/où/tnsfile/et vous référencez ce fichier TNS. – Achille

+0

Si vous ouvrez le fichier tnsnames.ora, vous devriez voir un exemple et vous pouvez copier un profil à partir d'un autre DB et modifier l'information sur votre serveur et votre base de données. – Ben

0

Une entrée tnsnames.ora générale ressemblerait à ceci si vous choisissez d'aller de cette façon:

DBAlias = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521)) 
    (CONNECT_DATA = (SERVICE_NAME = YourDBServiceName)) 
) 

Votre fichier tnsnames.ora réside généralement dans le ORACLE_HOME/network/admin. Techniquement parlant, vous ne "créez pas d'écouteur", vous définissez plutôt un alias pour une chaîne de connexion au réseau client Oracle, qui va se référer à un écouteur quelque part.

Vous pouvez spécifier une chaîne EZConnect, si vous ne voulez pas/ne peut pas salir avec tnsnames.ora entrées:

"Data Source=//yourserver:1521/yourDB;User ID=theUser;Password=thePW" 

Vous aurez besoin d'une entrée dans le fichier sqlnet.ora à l'effet de:

NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT) 
Questions connexes