cs_aloisio11
Messages postés126Date d'inscriptionlundi 18 septembre 2006StatutMembreDernière intervention 7 décembre 2009
-
16 janv. 2008 à 10:15
cs_davidso
Messages postés5Date d'inscriptionvendredi 5 septembre 2003StatutMembreDernière intervention28 janvier 2008
-
28 janv. 2008 à 16:05
Bonjour à tous,
Voici mon problème :
J'ai 2 BdD, sur le même serveur : BD1 et BD2.
BD1 possède 2 tables : ARTICLE et COMMANDE.
BD2 possède 1 table : ARTICLE (Différente de celle de BD1) et je voudrais faire une table liée sur COMMANDE de BD1, dans BD2.
Il me semble que l'on peut faire cela avec Access sur une BdD SQL Server. Cela est-il possible dans SQL Server 2000 ? Comment pourrais-je faire ?
cs_davidso
Messages postés5Date d'inscriptionvendredi 5 septembre 2003StatutMembreDernière intervention28 janvier 2008 28 janv. 2008 à 16:05
Hello,
Bon pour te répondre je dirais que ça n'est pas aussi 'facile' qu'avec Access.
Il te faut:
. Un ODBC qui pointe sur ta source de données
. Un serveur lié utilisant ton ODBC. Pour cela, ouvre SQL Mgt Studio: dans [Objets Serveurs], [Serveurs liés] tu trouveras tes serveurs liés (normal). Pour ce faire, clic droit et suit le guide ou encore, depuis une commande SQL:
Pour mieux comprendre, demande à Google de te renseigner sur sp_addlinkedserver.
Ensuite, tu peux requêter normalement une table, mais attention, il convient de respecter la norme SQL utilisée par ton fournisseur ODBC. Exemple ici:
SELECT
TOP 10
*
FROM
OPENQUERY
(NOM_DE_TON_SERVEUR_LIE_DANS_SQL ,
'SELECT NUM_LOT, COD_JRN, DAT_ECR, CONCAT(NUM_PIE_DEB, NUM_PIE_FIN) as PIECE
FROM HISTO_CPTA_GENE'
)J'ai pris un exemple d'une requête effectuée depuis SQL serveur dans une base de donnée INTEGRALE LIGNE 500.
La fonction de concatenation utilisée est CONCAT car elle est supportée par mon fournisseur Ligne 500.