Comment créer une table "liée" ?

cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009 - 16 janv. 2008 à 10:15
cs_davidso Messages postés 5 Date d'inscription vendredi 5 septembre 2003 Statut Membre Dernière intervention 28 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 ?


Merci d'avance

1 réponse

cs_davidso Messages postés 5 Date d'inscription vendredi 5 septembre 2003 Statut Membre Dernière intervention 28 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:

EXEC

master
.dbo
.sp_addlinkedserver @server
= N
'NOM_DE_TON_SERVEUR_LIE_DANS_SQL', @srvproduct
=N
'NOM_DE_TON_SERVEUR_LIE_DANS_SQL', @provider
=N
'MSDASQL', @datasrc
=N
'NOM_DE_L_ODBC'GO

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.

En espérant avoir répondu à ta question.

David

 
0
Rejoignez-nous