Serveur lié SQL Server vers Oracle

Fermé
flouartistik - 18 mars 2009 à 11:07
 flouartistik - 18 mars 2009 à 16:36
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 jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607
18 mars 2009 à 11:30
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
18 mars 2009 à 11:37
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 jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607
18 mars 2009 à 11:11
(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
18 mars 2009 à 11:20
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 jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607 > flouartistik
18 mars 2009 à 11:24
Tu peux toujours essayer avec SQL Developer, sinon.

0
flouartistik > HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016
18 mars 2009 à 11:25
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 jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607 > flouartistik
18 mars 2009 à 11:30
Vieille version ?

0
flouartistik
18 mars 2009 à 14:08
Petit up car je n'ai toujours pas de solution
0
flouartistik
18 mars 2009 à 16:36
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