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

Développement SQL Server Discussion :

Requete SQL entre 2 bases


Sujet :

Développement SQL Server

  1. #1
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut Requete SQL entre 2 bases
    Bonjour,
    Novice en SQL

    J'ai deux bases SQL.
    je manip avec SQL Management studio express 2005.

    Je souhaiterais passer des données d'une table d'une base vers une autre table d'une autre base sql.

    En fait il s'agit au départ d'une migration sauf qu'il y a une colonne qui n'a pas suivi ! la colonne est présente mais les données ne soint pas passées !

    donc à l'aide d'une requete je devrais, enfin j'espere, pouvoir insérer les données dans la nouvelle table ? genre un Insert avec un Where ? Non ?

    j'ai mis une PJ si ca peu éclairer ?

    si vous avez des idées ... merci d'avance

    JPO
    Images attachées Images attachées  

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous avez plusieurs possibilités
    1. Par Transacte SQL
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Insert into mabase..MatableDestination(Champ1[,Champ2[,Champn)
      Select Champ1[,Champ2[,Champn)
      From  mabase..MatableSource
    2. Par Import-Export


    Vous pouvez utilisez les outils imports/export fourni avec Le Management Studio.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Invité
    Invité(e)
    Par défaut
    quelque chose dans ce goût:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    insert into ma_bd_1.dbo.ma_table (col1, col2, ...)
    select col1, col2, ...
    from ma_bd_2.dbo.ma_table

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Ou ceci qui créé la structure de la table (mais pas les contraintes, index et cetera) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
      INTO mabase..MatableDestination
      FROM mabase..MatableSource

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Au cas ou les bases sont sur des serveurs différents, il faut configurer unn serveur lié pour ensuite passer la même requête mais plus généraliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO serveur1.mabase..MatableDestination(Champ1[,Champ2[,Champn)
    SELECT Champ1[,Champ2[,Champn)
    FROM  Serveur2.mabase..MatableSource

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Au cas ou les bases sont sur des serveurs différents, il faut configurer unn serveur lié pour ensuite passer la même requête mais plus généraliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO serveur1.mabase..MatableDestination(Champ1[,Champ2[,Champn)
    SELECT Champ1[,Champ2[,Champn)
    FROM  Serveur2.mabase..MatableSource
    Vu la saisie d'écran du demandeur, ce n'est pas le cas.

  7. #7
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut
    Waw toutes ces réponses ! merci bcp !

    comme je l'ai dis je suis novice, du coup je me suis mal exprimé.... pus que qu'il faut que je remplace des données d'une colonne par des données d'une autree colonne dans une autre base.

    du coup ca doit etre un UPDATE ? pas un INSERT ? Non ?

    voilà ma jolie requete ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE [BCM_via_assistant].[dbo].[ActivitiesTable]
       SET [LinkToOriginal] = [RSI_BCM].[dbo].[ActivitiesTable].[LinkToOriginal]
     WHERE [BCM_via_assistant].[dbo].[ActivitiesTable].[ActivityGUID] = [RSI_BCM].[dbo].[ActivitiesTable].[ActivityGUID]
    Et voilà le joli code d'erreur ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg 4104, Niveau 16, État 1, Ligne 1
    L'identificateur en plusieurs parties 'RSI_BCM.dbo.ActivitiesTable.ActivityGUID' ne peut pas être lié.
    quelqu'un comprends ce que l'ordinateur essaie de me dire ?

    merci

  8. #8
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par jpo Voir le message

    quelqu'un comprends ce que l'ordinateur essaie de me dire ?
    Il essaie de te dire qu'il ne voit pas a quoi fait reference [RSI_BCM].[dbo].[ActivitiesTable].[LinkToOriginal], car en fait, la table [RSI_BCM].[dbo].[ActivitiesTable] n'est pas incluse dans la clause from de ta requete


    pour garder le même principe que ta requete, tu peux donc faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    UPDATE [BCM_via_assistant].[dbo].[ActivitiesTable]
    SET [LinkToOriginal] = (
        SELECT [LinkToOriginal]
        FROM [RSI_BCM].[dbo].[ActivitiesTable]
        WHERE [BCM_via_assistant].[dbo].[ActivitiesTable].[ActivityGUID] = [RSI_BCM].[dbo].[ActivitiesTable].[ActivityGUID]
    )

  9. #9
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut
    merci bcp !
    déjà j'ai appris des trucs c cool ... ca fonctionne sauf que .....

    bah en fait c'est comme si il n'arrive pas à lire ce qu'il y a dans la table source ... résultat il me met NULL.

    il y a bien des données dans la table source.

    je test en mettant du texte "en dur" dans la requete et là ca marche ....

    une idée ?

    merci

  10. #10
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bizare...

    as-tu vérifié que les [ActivityGUID] sont bien les mêmes dans les deux tables ? (si des nouveau identifiants ont été générés pendant l'import, il est normal que ca ne fonctionne pas )

  11. #11
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut
    bingo !
    je pensais vraiment que c'était les meme numéros !

    j'ai fais un grand pas aujourd'hui et je vous en remercie tous!!!!!!!!!!!!

    merci

    JPO

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

Discussions similaires

  1. Requete SQL entre 2 tables liés par une relation many to many
    Par macmanaman dans le forum Langage SQL
    Réponses: 8
    Dernier message: 06/05/2009, 16h37
  2. Script Bash pour exécuter requete SQL sur une base Oracle
    Par Flipmode dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 28/11/2008, 17h18
  3. Réponses: 2
    Dernier message: 06/03/2008, 14h26
  4. requete SQL sur la base depuis un formulaire
    Par skillipo dans le forum IHM
    Réponses: 1
    Dernier message: 19/11/2007, 23h55
  5. [oracle 8i] requete SQL entre deux instances oracle
    Par flore_ange dans le forum Oracle
    Réponses: 5
    Dernier message: 18/04/2006, 17h43

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