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 :

Remplir une table dans une autre Instance et une autre base de données


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Par défaut Remplir une table dans une autre Instance et une autre base de données
    Bonjour,

    Voila tout ets dans le titre, je souhaite alimenté une table sur un serveur différent et donc sur une instance différente dans une base de données de nom différent.

    Actuellement, je rempli ma table en local... comment faire ?

    merci beaucoup

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Par défaut
    Regade du côté des Linked Server

    Tu ajoutes un serveur lié et tu deal avec ensuite...

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Tu as deux possibilités:

    - Utiliser des serveurs liées en préfixant ta table de la manière suivante:
    nomServeur.nomBase.propriétaire.nomTable

    - Utiliser la fonction opendatasource().nomBase.propriétaire.nomTable

    Le serveur lié est recommandé si tu dois effectuer plusieurs opérations vers ton autres instances.
    Dans le cadre de connexion ponctuelle, tu peux utiliser la fonction opendatasource.

  4. #4
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    avant de lancer ta requête il faut que le serveur distant soit lié à ton serveur local, pour ce faire tu lance la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_addlinkedserver [nomServeurDistant]
    après :

    tu peux faire ce que tu veux à partir de ton serveur local du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    SELECT *
    FROM nomServeurDistant.nomBaseDonnees.dbo.nomTable
    Bon courage
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  5. #5
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Par défaut
    merci pour vos réponses, je suis en train de faire des tests mais cela ne marche pas :

    je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_addlinkedserver [SNS-TECHNET]
    mon serveur est SNS-TECHNET

    puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO [SNSTECHNET2005.SNSTechNetWeb.dbo.SNSTechNet_MsspReports]
    Avec SNSTECHNET2005 qui est mon instance, mais cela me renvoie une erreur à la creation de la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg*15028, Niveau*16, État*1, Procédure*sp_MSaddserver_internal, Ligne*89
    Le serveur*'SNS-TECHNET' existe déjà.

  6. #6
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    Citation Envoyé par dahu17
    merci pour vos réponses, je suis en train de faire des tests mais cela ne marche pas :

    je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_addlinkedserver [SNS-TECHNET]
    mon serveur est SNS-TECHNET

    puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO [SNSTECHNET2005.SNSTechNetWeb.dbo.SNSTechNet_MsspReports]
    Avec SNSTECHNET2005 qui est mon instance, mais cela me renvoie une erreur à la creation de la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg*15028, Niveau*16, État*1, Procédure*sp_MSaddserver_internal, Ligne*89
    Le serveur*'SNS-TECHNET' existe déjà.
    si tu as bien lu le message d'erreur tu comprendras qu'il te faudra juste d'enlever le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_addlinkedserver [SNS-TECHNET]
    car apparemnt tes deux serveurs sont déjà linkés.

    exécutes directement ta requête d'insertion.
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  7. #7
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Par défaut
    j'avance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg*18452, Niveau*14, État*1, Ligne*1
    Échec de l'ouverture de session de l'utilisateur*''. L'utilisateur n'est pas associé à une connexion SQL Server approuvée.
    comment on spécifie l'utilisateur ?

  8. #8
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    il te faut passer par un OPENQUERY

    http://msdn2.microsoft.com/en-US/lib...8(SQL.80).aspx

    car un insert direct passe par ton authentification windows et pas celle de SQL serveur donc si ton compte windows n'est pas autorisé sur le serveur lié

  9. #9
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Par défaut
    je suis sur que c'est pas loin mais je ne m'en sors pas et j'essaye plein de méthodes, mes yeux vont tomber je crois

  10. #10
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    ca marche pas avec openquery ?

    ou tu sais pas comment faire ?

  11. #11
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    Quand tu essaie un simple SELECT à partir de ton PC local mais sur la base du serveur distant est ce que ça marche?

    quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM [ServeurDistant].DBO.taBase.taTable
    ça donne quoi?
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


Discussions similaires

  1. Réponses: 2
    Dernier message: 03/02/2014, 08h06
  2. lire une table dans mysql a partir d'une certaine ligne
    Par persé dans le forum Requêtes
    Réponses: 6
    Dernier message: 22/03/2013, 16h11
  3. Réponses: 3
    Dernier message: 04/06/2010, 22h57
  4. [MySQL] Insérer des données dans une table, mais ce n'est pas une table USER
    Par amerex dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/08/2008, 00h01
  5. Réponses: 1
    Dernier message: 22/07/2007, 17h42

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