[MS SQL Server] import /export de donnees

Bonjour
j'ai MS SQL Server 2005 qui tourne sous Windows 2003 Server
- je voudrais savoir comment exporter une requete SELECT vers un fichier .txt
-Et comment importer ce fichier .txt vers une autre base MS SQL Server
Mecrci ;-)

30 réponses

Résumé de la discussion

L’objectif central est d’exporter une requête SELECT vers un fichier texte et d’importer ce fichier dans une autre base MS SQL Server pour partager ou migrer des données entre serveurs. Plusieurs réponses décrivent des méthodes comme BCP, BULK INSERT ou DTS, privilégiant formats CSV ou TXT délimités pour transférer les données entre bases, avec des options ou via des interfaces. Des solutions pratiques incluent BCP en ligne de commande pour exporter puis BULK INSERT pour importer, ou DTS pour des transferts table par table, selon les besoins. En complément, certaines réponses évoquent l’utilisation d’un CSV intermédiaire pour Excel, ou la sauvegarde/restauration d’une base pour transfert multi-serveurs, ce qui introduit des aspects d’encodage et de compatibilité entre SGBD.

Bobot (l’IA à votre service)
  1. C'est bon je vien de trouve
    bcp mabase..tmp_t in G:\t.csv -c -T -F 2 -t ;
    pour comencer de la 2e ligne
    et ; comme delimiteur
    Super merci vieux;tu ma sacrement aide ;-)
    BCP est genial
    20
    1. Modérateur
      Si c'est pour transférer une base complète d'un serveur à l'autre, il faut faire un backup/restore de la base.

      Pour transférer une table, tu peux faire un BCP (en ligne de commande). C'est le plus performant.
      Sinon tu peux passer par les DTS.

      Et pour extraire juste une table,
      soit un DTS,
      soit osql en ligne de commande,
      ou un programme à toi (facile à programmer: http://tinyurl.com/ymkvmg)
      ou même à partir d'Excel (Menu Données > Données externes >...)
      8
      1. Bonjour,

        N'étant pas expert en informatique et n'ayant malheureusement pas de temps à investir dans son apprentissage, je cherchais comment exporter des données depuis ORACLE vers MS-Excel et votre fil m'a indiqué un point de départ ([Data] [Get External Data], etc. qui m'a permis d'arriver à mes fins.

        Je tenais donc à vous remercier !

        Danny
        0
      2. Bonjour,
        je suis un stagiaire de deuxième année en Informatique de Gestion Génie Logiciel et Intelligence Artificielle. Et je travaille actuellement sur comment adapter le logiciel gratuit GLPI sur le système global de la société. Comme tout bon informaticien ,j'ai d'abord pris le temps d'essayer de le résoudre moi-même, mais il faut que je me rende à l'évidence que je suis bloqué! Donc j'ai pris la résolutionde vous demander de bien vouloir me venir en aide et vous en remercie d'avance...
        Alors, mon problème est comme suit: la base de données standard de notre société est SQL server 2008 et celle de GLPI est MySQl 5.0 et je veux tranférer les 167 tables vers SQL server 2008 pour les standardiser à notre système.
        Peut-être qu'il vous serait utile de savoir que GLPI a été développé sous PHP (mais je ne connais pas la version).
        Merci à ceux qui veulent bien me répondre et dans les plus brefs délais s'il vous plait car comme je suis stagiaire, mes employés me mettent une énorme pression et ne comprenne pas que j'ai déjà fais de mon mieux mais ne m'en sors pas dutout!
        Encore merci et désolé pour le dérangement...
        0
    2. Ah merci
      à partir d'Excel c bien
      je viens de faire un teste
      il me dit : geting data...
      mais rien ne se passe
      doit je renommer les collonnes de excel suivant ma table?
      2
      1. c bon c fait ,mais sa prend enormement de temps
        je voudrais le faire a partie d'une requete sql si c possible
        et vers un .txt ,comme ca j'aurais pas un invoquer un privider
        merci
        1
        1. Modérateur
          Dans ce cas un simple osql en ligne de commande fera l'affaire.

          BCP sera même beaucoup plus rapide que osql.

          Je n'ai pas de SQL Server sous la main, à toi de trouver la bonne syntaxe.
          1
          1. ok merci beaucoup
            je vais jeter un coup d'oeil dessu
            ;-)
            -2
            1. Et pour utiliser BCP:
              - je l'installe?
              - il est deja installe?
              Merci ;-)
              -2
              1. Modérateur
                BCP doit être déjà installé.

                Cherche BCP.EXE sur ton disque dur.

                C'est le plus rapide pour le transfer, l'export ou l'import de données, même si la syntaxe est un peu merdique.
                -1
                1. et si ya un delimiteur ';' par exemple entre les collones?
                  je peut le preciser ?
                  -2
                  1. je travaille avec de fichiers .CSV

                    -----------
                    java,c++,php,xml, xforms,mysql
                    -2
                    1. Modérateur
                      Oui on peut préciser les délimiteurs.
                      0
                      1. Comment preciser les Delimiteurs STP
                        Aussi j'emerais bien commencer a importer a partir de la 2e ligne
                        1
                        1. Modérateur
                          Comment preciser les Delimiteurs STP

                          Je n'ai plus de SQL Serveur sous la main: il faudra que tu regarde un peu la documentation (msdn.microsoft.com)
                          1
                          1. bonjour
                            je voulais savoir comment utilisé bcp et d'ou je vais telecharger ce programme?parceque moi je travail avec sql express et j'ai le meme probleme d'importation et de exportation de donnée
                            1
                            1. Bonjour
                              Avec express je ne sais pas
                              mais avec MS SQL Server tu n'as pa a telecharger bcp, il est installé avec
                              il doit etre dans ton path
                              tape directement bcp dans une ligne de commande
                              en tout les cas il se trouve dans:
                              <Microsoft SQL Server_root>\90\Tools\Binn
                              pour sont utilisation les parametres:
                              -c -T evite de s'autentifier
                              -t deffinit le separateur des colonnes
                              -F determine le numero de ligne a partir de laquelle tu commence l'import
                              -1
                          2. Bonjour,

                            je travail avec MS SQL Server 2000.

                            Je souhaiterais avoir un exemple de requêtes SQL qui exporte une table en utilisant BCP.

                            Merci ;-)
                            3
                            1. bonjour

                              bcp "SELECT * FROM mabase..tmp_t" queryout c:\teste.txt -c -T -t;

                              voila pour exporter ta table 'tmp_t' vers c:\teste.txt

                              bon courage ;-)
                              0
                            2. salut moi c'est CaRu15 je voudrais savoir comment on importe un fichier excel dans sql server 2005. En effet g une liste d'article (5500 environ) à mettre en relation avec la table que j'ai crée sous sql server 2005, donc comment faire SVP. Merci
                              0
                            3. @CaRu15pour un fichier excel je ne sais pas, mais en haut ya la requete pour un import a partir d'un CSV (separateur ";" )
                              essaille d'exporter ton excel vers un csv, puis import le csv vers ta base

                              Si ta d'autres questions je suis a ta disposition ;-)

                              -1
                            4. @CaRu15Bonjour,

                              Je voudrais savoir si il existe une méthode particuliere pour scripter afin d'atomatiser l'importation d'un .csv en provenance de SAP vers une base de donnée SQL.

                              D'avance merci :)
                              Mickey
                              0
                            5. Modérateur
                              @mickeymikTu peux utiliser les DTS (même si perso, je déteste cette mécanique (pas fiable)).
                              Ou alors utiliser BCP ou un programme fait maison.
                              0
                          3. Des fois pas mieux que la bonne cuisine fait maison, mais dans ce cas précis je te conseillerais plutot les DTS ou BCP
                            ils sont conçus justement pour ca ( pour la stabilité des DTS , je ne sais pas),
                            sur une table de plusieurs centaine de milliers d'enregistrements,BCP le fait en quelques secondes, ton application en quelque minutes
                            1
                            1. Bonjour

                              Pour enlever les espaces des deux extremites du champ, il faut utiliser la fonction trim dans la requete

                              1
                              1. Bonjour,
                                je veux charger une table sur sql server avec un fichier excel
                                2
                                1. Modérateur
                                  Merci de lire les réponses qui ont déjà été données.
                                  0
                              2. bonjour je dois effectuer un exposé sur le DTS et je sais rien du tout sur le DTS et mon prof m as demander de faire un exemple de transformation de donneés , aidez moi svp
                                1
                                • 1
                                • 2