
Ce document montre comment réaliser une jointure entre un serveur de bases de données SQL Serveur et un autre serveur distant en utilisant une connexion OLE DB
Dans l'analyseyr de requête de MS Sql Serveur, il est possible d'éxécuter une requête via une connexion directe en OLE DB. lors de l'éxécution d'une requête. LA syuntaxe SQL correspondante est alors :
SELECT *
FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=Nomduserveur; UserID=Login; Password=MotdePasse').NomDeLaBaseDeDonnee.dbo.NomDeLaTable
/pre>
Par exemple supposons que nous souhaitions faire une jointure entre deux bases de deux serveurs :
1 - Serveur local SGBD1, base dbpersonne, table t_personne
2 - Serveur distant SGBD2, base de données dbpersonne2. on y accède en utilisant le login sa avec le mot de passe motdepasse.
Nous sommes connectés dans l'analyseur de requête sur la base locale SGBD1.dbpersonne.t_personne. Nous souhaitons joindre avec la table SGBD2.dbpersonne2.t_personne_nom pour retrouver les noms des id de personnes correspondantes.
Dans ce contexte la jointure s'écrira comme suit :
SELECT t_personne.id, t_personne_nom.nom
FROM t_personne, OPENDATASOURCE('SQLOLEDB', 'Data Source=SGBD2;User ID=sa;Password=motdepasse').dbpersonne2.dbo.t_personne_nom
Where t_personne.id = t_personne_nom.id