Serveur lié SQL Server vers Oracle

flouartistik -  
 flouartistik -
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
A voir également:

3 réponses

HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
Est-ce que tu as accès au serveur exécutant Oracle ?

Si oui, vérifie que le listener est bien démarré.

Vérifie aussi que le fichier listener.ora d'Oracle contient est bien configuré pour "DB_ORACLE".

1
flouartistik
 
En fait j'ai accès qu'au server 1. Le serveur test est chez le client donc pas possible. Effectivement il faut bien que le service_name soit définit dans ce listener.ora.

L'erreur est cependant arrivé après avoir passé le firewall. Je n'avais pas de tnsnames.ora à ce moment là.

Le problème vient peut-être du fait que sur ma base mssql je demande un service qui est mal défini dans ce tnsnames.ora mais même après l'avoir défini je garde la même erreur.

Ensuite j'ai oracle d'installer sur le serveur 1 pour avoir le fournisseur oledb. Au niveau du serveur test l'application fonctionne chez le client (mais évidemment c'est bien configuré et ils ont outes les infos.)

Je n'ai comme Info que l'IP du serveur test et le nom de la base de donnée (qui est censé être le même que le service_name non?)
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
(HOST = test)

Je suppose que sur la machine où est placé ce tnsnames, l'hôte "test" existe ?

Est-ce que ça, ça passe ?

sqlplus SYS@TEST


0
flouartistik
 
Je peux pas tester avec SQL Plus mais avec un ping il trouve le host "test"
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608 > flouartistik
 
Tu peux toujours essayer avec SQL Developer, sinon.

0
flouartistik > HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention  
 
J'ai essayé également mais il me dit que la version de la base de donnée n'est pas prise en charge.
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608 > flouartistik
 
Vieille version ?

0
flouartistik
 
Petit up car je n'ai toujours pas de solution
0
flouartistik
 
Le problème venait du fait qu'un sqlnet.ora était présent dans le répertoire network/admin de oracle. Il ne prenait pas en compte mon tnsnames.ora

1 jour pour une bétise...merci quand même
0