IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Réaliser une requête appel à 2 DSN simultanément


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 114
    Points : 46
    Points
    46
    Par défaut Réaliser une requête appel à 2 DSN simultanément
    Bonjour,

    Je dispose de SQL Server 2000. Afin d'extraire mes infos de la base, j'utilise l'ASP, et l'assistant Dreamweaver.

    Je dispose de 2 bases de données : Compta et Gestion.

    Je dois créer une requête faisant appel à des tables contenues dans ces deux Bases.

    J'ai un DSN qui pointe sur la COMPTa et un autre, sur la GESTION.

    Puis-je ouvrir les deux simultanément ? et comment réaliser mes requêtes pour avoir les infos des deux bases de données ?

    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Set RsVente = Server.CreateObject("ADODB.Recordset")
    RsVente.ActiveConnection = MM_ReqSQLC_STRING and 
    MM_ReqSQLC_STRING_GEST // J'ai concaténé les deux variables DSN
     
    RsVente.Source = "SELECT F_ARTICLE.AR_Ref, F_COMPTET.CT_Intitule, F_ARTICLE.AR_Design, F_DOCLIGNE.CT_NUM, sum( F_DOCLIGNE.DL_MontantHT) as [Montant HT]  
     
    FROM F_ARTICLE, F_DOCLIGNE, F_COMPTET  
     
    WHERE F_ARTICLE.AR_Ref = F_DOCLIGNE.AR_Ref AND F_COMPTET.CT_Num = F_DOCLIGNE.CT_Num 
     
    GROUP BY F_ARTICLE.AR_Ref, F_ARTICLE.AR_Design, F_DOCLIGNE.CT_NUM,F_COMPTET.CT_Intitule"
     
    RsVente.CursorType = 0
    RsVente.CursorLocation = 2
    RsVente.LockType = 1
    RsVente.Open()
    Variables DSN :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim MM_ReqSQLC_STRING, MM_ReqSQLC_STRING_GEST
     
    MM_ReqSQLC_STRING = "dsn=SQL_SRV_COMPTA;uid=sa;pwd=****;"
    MM_ReqSQLC_STRING_GEST = "dsn=SQL_SRV_GESTION;uid=sa;pwd=****;"
    %>
    Thanks

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 90
    Points
    90
    Par défaut
    Je pense que tu n'as qu'a ouvrir une seule connexion sur 1 des 2 serveurs.
    Sur celui que tu à choisit tu créer un 'linked server' (donc avec le 2ème serveur)

    et puis après pour ta requête tu fait appel aux tables de ta 1ère base normalement, et pour les tables de ta 2de base tu fais :

    nomServeur.nomBase.dbo.nomTable

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 114
    Points : 46
    Points
    46
    Par défaut
    Okay ... seulement je ne dispose que d'un seul serveur ! Et ce serveur dispose de 2 bases de données ...

    "Linked server" ?

    Je ne pense pas avoir compris

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 90
    Points
    90
    Par défaut
    si les 2 bases sont sur le même serveur SQL tu ouvres une connexion sur une des 2 bases et tu références les tables de l'autre base de la façon suivante :


  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 114
    Points : 46
    Points
    46
    Par défaut
    Okay, voilà j'ai essayé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%
    Set connC = Server.CreateObject("ADODB.Connection")
    conn1 = "driver={SQL Server};" & "server=monserveur; uid=sa; pwd=*****; database=C_MCI"
    connC.open conn1
     
    Set connG = Server.CreateObject("ADODB.Connection")
    connRs = "driver={SQL Server};" & "server=monserveur; uid=sa; pwd=*****; database=G_MCI1"
    connG.open connRs
     
    dim RscompteT 
    RscompteT = "SELECT TOP 5 CT_Num, CT_Intitule, F_ARTICLE.AR_Ref FROM F_COMPTET, SRVPROD.G_MCI1.F_ARTICLE"
    set RscompteT = connC.execute(RsCompteT) 
    %>
    Et sans succès !! il n'arrive pas à trouver ma base G_MCI1

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 90
    Points
    90
    Par défaut
    essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <%
    Set connC = Server.CreateObject("ADODB.Connection")
    conn1 = "driver={SQL Server};" & "server=monserveur; uid=sa; pwd=*****; database=C_MCI"
    connC.open conn1
     
     
    dim RscompteT
    RscompteT = "SELECT TOP 5 CT_Num, CT_Intitule, F_ARTICLE.AR_Ref FROM F_COMPTET, G_MCI1..F_ARTICLE"
    set RscompteT = connC.execute(RsCompteT)
    %>

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 114
    Points : 46
    Points
    46
    Par défaut
    nop

    Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'

    [Microsoft][ODBC SQL Server Driver][SQL Server]Le préfixe de colonne 'F_ARTICLE' ne correspond ni au nom de table ni au nom d'alias utilisés dans la requête.

    /test/tryless.asp, ligne 11

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 90
    Points
    90
    Par défaut
    oups pardon ... j'ai fait les choses à moitié !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <%
    Set connC = Server.CreateObject("ADODB.Connection")
    conn1 = "driver={SQL Server};" & "server=monserveur; uid=sa; pwd=*****; database=C_MCI"
    connC.open conn1
     
     
    dim RscompteT
    RscompteT = "SELECT TOP 5 CT_Num, CT_Intitule, G_MCI1..F_ARTICLE.AR_Ref FROM F_COMPTET, G_MCI1..F_ARTICLE"
    set RscompteT = connC.execute(RsCompteT)
    %>

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 114
    Points : 46
    Points
    46
    Par défaut
    Bien joué

    Tu es l'As des AS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] une requête appelée par un bouton ne fonctionne pas
    Par pup1523 dans le forum VBA Access
    Réponses: 12
    Dernier message: 27/06/2012, 09h47
  2. [WD10] comment réaliser une requête dans une table
    Par abdoufama dans le forum WinDev
    Réponses: 4
    Dernier message: 10/06/2011, 05h48
  3. Réaliser une requête croisée basée sur une Select
    Par sakia dans le forum VBA Access
    Réponses: 6
    Dernier message: 15/09/2010, 17h25
  4. réaliser une requête HTTP et récupérer la réponse
    Par enzostar dans le forum Langage
    Réponses: 8
    Dernier message: 12/04/2010, 14h00
  5. Réaliser une Requête POST
    Par ArHacKnIdE dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/03/2007, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo