Bonjour,

je rencontre un problème lors de l'utilisation d'un DB link à l'intérieur d'une procédure stockée.

J'ai créé mon lien via la commande suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
create public database link TR
connect to REF
identified by ref
using 'REF';
Mon lien fonctionne bien, l'exécution de requêtes sur la base distance se déroulant correctement.

Lorsque je fais fais référence à ce lien à l'intérieur d'une procédure stockée, je tombe, à la compilation de la proc, sur l'erreur suivante pour chaque référence à mon DB link :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ORA-02083: nom de base de données contient caractère interdit '-'
Voici une partie du code de ma procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
	 -- Récupération de la version en cours dans le référentiel temps réel.
	 select max(ver_id) into V_ENCOURS from VERSIONS@TR where VER_ACTIF = 'O';
 
	 ---------------------
	 -- INFRASTRUCTURES --
	 ---------------------
	insert into INFRASTRUCTURES 
	select 
		INF_ID,
        INF_VERSION + 1,
		INF_NOM,
		INF_DESCR,
		INF_FAMILLE,
		INF_SOUS_FAMILLE
    from INFRASTRUCTURES@TR
    where INF_VERSION = V_ENCOURS;
Chaque référence à TR me renvoi l'erreur évoquée ci dessus.

Lorsque je regarde sous TOAD ou OEM la description de mon DB link, celui ci s'appelle TR.NOM-DOMAINE.

Le problème vient il du fait que le nom de domaine contient un '-' ?
Dans ce cas pourquoi tout fonctionne bien lorsque j'execute directement les requêtes sous SQL Plus ?

Je ne vois vraiment pas comment résoudre ce problème ...

Merci de votre aide !