Bonjour,
J'ai un soucis au niveau de la création de serveur lié sur SQL Server vers des bases de données Oracle.
En gros le schéma suivant représente l'architecture :
Application -----------------> Server 1 (home) --------------------------> Server 2 (test)
| |
DB_MSSQL--------------[Serveur lié]-------------> DB_ORACLE
Quand je créer mon serveur lié je lui fournit les paramètres suivant :
sp_addlinkedserver
@server = 'LINKSRV',
@srvproduct = 'Oracle',
@provider = 'oraOLEDB.Oracle',
@datasrc = 'DB_ORACLE',
@location = 'test'
Ceci créer un serveur lié LINKSRV qui utilise le fournisseur OLEDB oraOLEDB.Oracle. Il pointe vers la base DB_ORACLE qui est sur le serveur test.
Ma première question est le serveur test correspond-t-il au serveur 1 ou serveur 2?
J'ai pris les 2 hypothèses mais je me retrouve constamment avec la même erreur "ORA-12154 : l'adresse symbolique n'a pu être résolue".
J'ai pu voir que celà venait d'une mauvaise configuration de Oracle sur le serveur client (qui correspond du coup à mon serveur 1). J'ai donc configuré mon tnsnames.ora de la façon suivante :
DB_ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB_ORACLE)
(SERVER = DECICATED)
)
)
Je n'ai aucun moyen pour tester si la connection fonctionne avec SQL Plus car je n'ai pas les paramètres d'accès à la base de donnée
Il existe un firewall entre les 2 servers mais j'ai les login et password d'accès, le problème ne vient pas de là.
Je ne peux pas non plus comparer mon tnsnames.ora avec le listener.ora du server "test" car je n'y ai pas accès.
C'est une architecture un peu pourri et je n'ai plus vraiment d'idée...
Merci d'avance pour votre aide