Articles / Nouvelle technologies


Nous avons déjà vu comment requêter SQL Server depuis Oracle dans un précédent article. Nous allons maintenant faire de même mais dans l'autre sens : requêter Oracle à partir de SQL Server 2005.

Dans cet article j'utiliserai SQL Server 2005 Express et SQL Server Management Studio Express. Vous pouvez les télécharger librement (c'est gratuit).

Créer un server lié Oracle

Nous allons configurer ce server lié dans SQL Server 2005 à l'aide de SQL Server Management Studio Express. Ouvrez ce dernier et sélectionnez votre instance SQL Server :

image

Dans le noeud "Objets Serveur", vous retrouverez un sous-noeud "Serveurs liées". "Clic droit" sur cet élément et "Nouveau serveur lié... "

image

La fenêtre "Nouveau serveur lié" apparrait. C'est ici que nous allons configurer la connexion à Oracle.

Dans le champ "Serveur lié" vous devez indiquer un nom pour votre serveur lié. Ce nom sera utilisé dans les requêtes que vous créerez plus tard. Ici j'ai mis "ORA".

Sélectionnez ensuite "Autre source de données" et choisissez "Microsoft OLEDB Provider for Oracle".

image

Dans le champ "Nom du produit" indiquer le nom du produit que vous utilisez (ici Oracle). Dans le champ suivant indiquez le nom de votre source de données (celle utilisé dans votre listener.ora). Laissez le reste vide et cliquez sur "Ok".

Votre serveur lié apparrait maintenant dans la liste :

image

Vous devez maintenant gérer les droits d'accès à votre base de données Oracle. Pour cela :

  1. Clic droit sur votre serveur lié
  2. Propriété
  3. Dans la fenêtre "Propriété du serveur lié", cliquez sur sécurité
  4. Ajouter un utilisateur
    • Cliquez sur "Ajouter".
    • Dans connexion locale indiquez votre utilisateur SQL Serveur 2005.
    • Dans utilisateur distant, indiquez l'utilisateur qui se connecte à votre base de données Oracle.
    • Dans la colonne suivante, indiquez son mot de passe.
  5. Laissez les autres champs par défaut.
  6. Cliquez sur terminer.

image

C'est terminé, vous pouvez maintenant exécuter une requête vers Oracle :

[code:tsql]
select * from ORA..BD_AGENCE_MM.ADRESSE;
[/code]

/!\ Mettez bien tout ce qui concerne Oracle en majuscule.

A bientôt



Lire la suite...
Tags: , ,
Catégorie : Interopérabilité | Oracle | SQL Server

Une question sur cet article? n'hésitez pas a me contacter par Live Messegner. Suis-je connecté?

Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Par Loïc Bar le 31/10/2007 10:36:10

Permalink | Commentaires (2) | Post RSS |


Commentaires

13/11/2007 09:44:58

Fred RAMANDANIARIVO

Bonjour,
J'ai bien suivi le truc dans sqlserver2005 mais
on m'a envoyé l'erreur suivante lors du test tsql :
OLE DB provider "MSDAORA" for linked server "DBORA" returned message "ORA-01017: nom utilisateur/mot de passe non valide ; connexion refusée
".
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "MSDAORA" for linked server "DBORA" reported an error. Authentication failed.
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "MSDAORA" for linked server "DBORA".

Remarque
- j'ai installé le client oracle 10g sur mon pc, et ça marche bien qua je me connefte sur le server oracle via sqlplus
- J'ai aussi, bien sûr, installé localement le sqlserveur2005

Question : c'est koi vraiment le problème ? est-ce à cause du login exacatement ?

Merci beaucoup

Demande : Pourriez-vous ajouter dans la liste des pays
le notre, "Madagascar"

Fred RAMANDANIARIVO

13/11/2007 15:19:45

Loic bar

Bonjour,
Oui, avez vous bien ajouté des logins et mot de passe? L'utilisateur sql serveur doit être de préférence l'administrateur de la machine (première colonne).

Loic bar be

Ajouter un commentaire



(Affichera votre icône Gravatar)  

  Country flag










Propulsé par BlogEngine.NET, modifé par Loïc Bar.