1. #1
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    mai 2013
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : mai 2013
    Messages : 250
    Points : 46
    Points
    46

    Par défaut Jointure entre des tables de différents Serveurs

    Bonjour, je souhaite faire une requête qui fait la jointure entre les tables qui sont dans deux différents serveurs , j'ai fais comme ceci , mais j'obtiens l'erreur
    [DBNETLIB][ConnectionOpen (Connect()).]Ce serveur SQL n'existe pas ou son accès est refusé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT S.Date_traitement, E.Matricule_Paie,E.Matricule_FS, 
    E.Nom,E.Equipe,P.Projet,
    CAST(SUM(S.TempsTraitement) /3600.0 AS DECIMAL(16,2)) AS Temps_Effectif,
      CAST(SUM(S.NombreDoc)AS int) AS Nbr_docs 
    from StatsOp S,[monserveur].[user].[dbo].Equipe E,[monserveur].[user].[dbo].Projet P 
    Where S.LoginUser = E.Login AND P.EtapeTraitement='BMCE_CHQ' 
      AND 
    CONVERT(VARCHAR, S.Date_traitement, 120) like '%2017-08-15%' 
     group by S.Date_traitement, S.LoginUser,E.Matricule_FS,
    E.Equipe,E.Nom,E.Matricule_Paie,P.Projet
    Merci d'avance

  2. #2
    Membre chevronné
    Femme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    3 734
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 3 734
    Points : 1 898
    Points
    1 898

    Par défaut

    Comme vous pouvez le constater, ce n'est pas un problème de jointure mais d'accès...
    Essayez de valider vos accès avec ceci pour commencer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(*) from [monserveur].[dbo].Equipe
    Le user est inutile.

    Autre remarque, avez-vous connaissance des jointures en SQL parce que là, vous codez à l'ancienne.

  3. #3
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    mai 2013
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : mai 2013
    Messages : 250
    Points : 46
    Points
    46

    Par défaut

    le problème c'est que la fenêtre des requêtes s’ouvre dans l'un des serveurs alors pour l’exécution il prend en compte le serveur dans lequel la requête est écrite du coup il ne reconnait pas l'autre , et mes tables sont bonne et je l'ai utilise pour d'autres applications

  4. #4
    Membre chevronné
    Femme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    3 734
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 3 734
    Points : 1 898
    Points
    1 898

    Par défaut

    Citation Envoyé par andyajram Voir le message
    le problème c'est que la fenêtre des requêtes s’ouvre dans l'un des serveurs alors pour l’exécution il prend en compte le serveur dans lequel la requête est écrite du coup il ne reconnait pas l'autre , et mes tables sont bonne et je l'ai utilise pour d'autres applications
    J'ai rien compris.
    Elle marche ma requête ou pas ?

  5. #5
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    mai 2013
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : mai 2013
    Messages : 250
    Points : 46
    Points
    46

    Par défaut

    elle marche ta requête mais quand je l’exécute dans la fenêtre d'une nouvelle requête dans le serveur qui la contienne et pas dans l'autre serveurPièce jointe 303437


    tout ca c'est juste pour tester et à la fin je dois intégrer la requête dans mon code VB donc c'est un autre délire comment trouver la déclaration de deux serveurs en même temps .

  6. #6
    Membre chevronné
    Femme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    3 734
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 3 734
    Points : 1 898
    Points
    1 898

    Par défaut

    est-ce que tu as bien configuré le Linked Server entre les deux instances ?

  7. #7
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    mai 2013
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : mai 2013
    Messages : 250
    Points : 46
    Points
    46

    Par défaut

    j'ai pas compris , c'est quoi Linked server ? et comment le configurer ?

  8. #8
    Membre chevronné
    Femme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    3 734
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 3 734
    Points : 1 898
    Points
    1 898

    Par défaut

    Citation Envoyé par andyajram Voir le message
    j'ai pas compris , c'est quoi Linked server ? et comment le configurer ?
    Ok, 'faut commencer par le commencement !
    https://docs.microsoft.com/en-us/sql...atabase-engine
    https://msdn.microsoft.com/en-us/library/aa560998.aspx
    https://www.sqlshack.com/how-to-crea...gement-studio/

  9. #9
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    mai 2013
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : mai 2013
    Messages : 250
    Points : 46
    Points
    46

    Par défaut

    je n'ai pas le temps de faire une formation je suis pressé alors j'ai besoin de l'aide

  10. #10
    Membre chevronné
    Femme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    3 734
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 3 734
    Points : 1 898
    Points
    1 898

    Par défaut

    Citation Envoyé par andyajram Voir le message
    je n'ai pas le temps de faire une formation je suis pressé alors j'ai besoin de l'aide
    Pas de problème, pour les urgences, je facture 250 $/h

  11. #11
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    mai 2013
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : mai 2013
    Messages : 250
    Points : 46
    Points
    46

    Par défaut

    hhhhhh j'allais pas travailler si j'avais les moyens pour te payer

  12. #12
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    mai 2013
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : mai 2013
    Messages : 250
    Points : 46
    Points
    46

    Par défaut

    j'ai fais autrement mais j'obtient une autre erreur syntaxe incorrecte vers 'SQLOLEDB'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT S.Date_traitement, Equipe.Matricule_Paie,
    Equipe.Matricule_FS, 
    Equipe.Nom,Equipe.Equipe,
    Projet.Projet,
    CAST(SUM(S.TempsTraitement) /3600.0 AS DECIMAL(16,2)) AS Temps_Effectif,
      CAST(SUM(S.NombreDoc)AS int) AS Nbr_docs 
    from StatsOp  S,
    OPENDATASOURCE('SQLOLEDB','Data Source=monserveur;User ID=sa;Password=--').[user].[dbo].[Equipe],
    ('SQLOLEDB','Data Source=monserveur;User ID=sa;Password=---').[user].[dbo].Projet
      Where S.LoginUser = Equipe.Login AND Projet.EtapeTraitement='BMCE_CHQ' 
      AND CONVERT(VARCHAR, S.Date_traitement, 120) like '%2017-08-15%'  
    group by S.Date_traitement, S.LoginUser,Equipe.Matricule_FS,
    Equipe.Equipe,Equipe.Nom,Equipe.Matricule_Paie,Projet.Projet

  13. #13
    Membre du Club
    Homme Profil pro
    ertertaertar
    Inscrit en
    mai 2013
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : mai 2013
    Messages : 250
    Points : 46
    Points
    46

    Par défaut

    et même si je crée le Linkedserver et je vois qu'il est créer et qu'il a les droits , j'ai l'erreur qu'il n'existe pas !!!!

  14. #14
    Membre confirmé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : décembre 2007
    Messages : 281
    Points : 566
    Points
    566

    Par défaut

    Bonjour,

    Pour ma part de ce que j'ai compris (car une phrase sur 2 est incompréhensible) il vous faut travailler du coté de votre serveur lié, vérifié que l'utilisateur exécutant la requête a bien les droits sur le serveur de destination.

    Tester votre requête coté SSMS

    Et après voir l'appel avec le code VB.

    Et si vous avez besoin de formation car vous ne connaissez pas la techno n'hésitez pas a demander a votre responsable, mais ne nous demandez pas la solution, nous n'avons aucune garantie de résultat !

    Comme dit plus haut je ne reviendrai pas sur les erreurs de conception de la requête visiblement vous êtes un cador et vous ne supportez pas les critiques !
    MCSA SQL SERVER |MCT | MVP Data Platform

Discussions similaires

  1. [2008] Jointure entre 2 bdd de 2 serveurs différents qui contiennent des '\'
    Par Rozegtas dans le forum MS SQL-Server
    Réponses: 2
    Dernier message: 13/11/2014, 13h38
  2. Jointure entre des tables
    Par sonia5 dans le forum SQL
    Réponses: 1
    Dernier message: 28/11/2012, 10h07
  3. Liaison entre des tables différentes
    Par lebelo dans le forum kettle/PDI
    Réponses: 5
    Dernier message: 30/04/2009, 13h52
  4. Jointure entre 2 tables avec des champs de types différents
    Par qltmi dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/11/2008, 21h58
  5. jointure sur des tables de DB différentes
    Par calison3 dans le forum MS SQL-Server
    Réponses: 4
    Dernier message: 23/05/2007, 11h19

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