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 :

Jointure entre des tables de différents Serveurs


Sujet :

MS SQL Server

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

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    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
    Invité
    Invité(e)
    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
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    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
    Invité
    Invité(e)
    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
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    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
    Invité
    Invité(e)
    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
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    Par défaut
    j'ai pas compris , c'est quoi Linked server ? et comment le configurer ?

  8. #8
    Invité
    Invité(e)
    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
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    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
    Invité
    Invité(e)
    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
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    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
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    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
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Points : 55
    Points
    55
    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 éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2007
    Messages
    327
    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 : 327
    Points : 674
    Points
    674
    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 !

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