Rechercher : dans
Par :

Serveur lié SQL Server vers Oracle

Dernière réponse le 18 mar 2009 à 16:36:59 flouartistik, le 18 mar 2009 à 11:07:03 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Serveur lié SQL Server vers Oracle » dans :
Connexion à une base Oracle en php Voir1. Périmètre Cet article est un exemple de connexion à une base Oracle par le biais d'un script php. Cet article ne traite pas la configuration de votre serveur Oracle, et de votre client Oracle. Nous partons du principe que vous pouvez accéder à...
Limite d’affichage de Serveroutput VoirServeroutput présente une limite d’affichage qui est définie par défaut à 1000 enregistrements mais qui peut être modifiée par la commande set serveroutput on size XXX, néanmoins elle ne pourra pas dépasser les 3000 enregistrements. Pour palier à...
Oracle - Introduction au SGBD Oracle VoirIntroduction au SGBD Oracle Oracle est un SGBD (système de gestion de bases de données) édité par la société du même nom (Oracle Corporation - http://www.oracle.com), leader mondial des bases de données. La société Oracle Corporation a été créée en...
PL/SQL - Introduction au langage PL/SQL VoirIntroduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui...
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...

1

HostOfSeraphim, le 18 mar 2009 à 11:11:48

(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


Configuration : Linux Debian Lenny / Noyau 2.6.26 / Gnome / Iceweasel 3
Connexion Internet : ADSL Orange 8M (Livebox)

Répondre à HostOfSeraphim

2

flouartistik, le 18 mar 2009 à 11:20:29

Je peux pas tester avec SQL Plus mais avec un ping il trouve le host "test"

Répondre à flouartistik

3

HostOfSeraphim, le 18 mar 2009 à 11:24:00
  • +1

Tu peux toujours essayer avec SQL Developer, sinon.

Configuration : Linux Debian Lenny / Noyau 2.6.26 / Gnome / ­Iceweasel 3
Connexion Internet : ADSL Orange 8M (Livebox)

Répondre à HostOfSeraphim

4

flouartistik, le 18 mar 2009 à 11:25:34

J'ai essayé également mais il me dit que la version de la base de donnée n'est pas prise en charge.

Répondre à flouartistik

6

HostOfSeraphim, le 18 mar 2009 à 11:30:30

Vieille version ?

Configuration : Linux Debian Lenny / Noyau 2.6.26 / Gnome / ­Iceweasel 3
Connexion Internet : ADSL Orange 8M (Livebox)

Répondre à HostOfSeraphim

5

HostOfSeraphim, le 18 mar 2009 à 11:30:02
  • +1

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".

Configuration : Linux Debian Lenny / Noyau 2.6.26 / Gnome / Iceweasel 3
Connexion Internet : ADSL Orange 8M (Livebox)

Répondre à HostOfSeraphim

7

flouartistik, le 18 mar 2009 à 11:37:14

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?)

Répondre à flouartistik

8

flouartistik, le 18 mar 2009 à 14:08:56

Petit up car je n'ai toujours pas de solution

Répondre à flouartistik

9

 flouartistik, le 18 mar 2009 à 16:36:59

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

Répondre à flouartistik