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 :

Import de donnees


Sujet :

MS SQL Server

  1. #1
    Membre régulier Avatar de Pasiphae
    Inscrit en
    Octobre 2003
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 110
    Points : 104
    Points
    104
    Par défaut Import de donnees
    Bonjour.

    J ai une base de données SQLServer 2000 avec une table client (classique) et je cherche a importer dans cette table client des données d un fichier txt ou d un fichier csv.

    J ai tenté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BULK INSERT MaBDD..Client
    FROM 'D:\Tests\Import_test.txt'
    WITH
    ( FIELDTERMINATOR = ';' , ROWTERMINATOR = '\r\n' )
    Et j obtiens un charmant message :Serveur*: Msg 4861, Niveau 16, État 1, Ligne 1
    Insertion en bloc impossible : Le fichier 'D:\Tests\Import_test.txt' ne peut pas être ouvert. Erreur du système d'exploitation 21(Le périphérique n'est pas prêt.).


    Niarf.
    J ai tenté d utiliser l assistant import de données (DTS ?) mais je ne comprends pas du tout le principe de mettre de odbc pour un fichier txt. Bref, je coule... mode sous marin, habituel. Snif.

    Si vous auriez des liens vers des tutoriels genre "en images" ou "pour les nuls et les en manque de cafeine" je prends. Mici, bonne journée a vous.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Depuis ce matin j'essaie de faire la même chose : import d'un fichier txt. J'ai réussi à peu près avec un DTS. par contre je ne sais pas exécuter le DTS à partir d'une procédure. Donc si quelqu'un sait je suis preneur

    Sinon j'ai aussi essayé le BULK INSERT. Et moi ça me met un message comme quoi je n'ai pas le droit de faire un BULK INSERT : You do not have permission to use the BULK INSERT statement.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    Salut,

    as-tu essayé d'importer des données via DTS en passant par source de données : Fichier Texte ?
    Normalement tu n'as qu'à renseigner l'emplacement du fichier .txt ou .csv ainsi que le type de séparateur puis aprés le tour est joué.

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    En ce qui concerne BULK INSERT, il faut que tu soit membre du rôle de serveur BULK INSERT ADMINISTRATORS (bulkadmin), cela va te permettre d'exécuter la commande BULK INSERT.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    j'ai trouvé comment on faisait par dts, si tu veux je peux t'expliquer c'est pas compliqué. msn : pierre.egaud@laposte.net

    J'ai encore un petit problème, ça ne reconnait pas les sauts de ligne. Qu'est ce qu'on met comme séparateur de ligne ?

    J'ai le choix entre :
    {CR}
    {CR}{LF}
    {LF}
    ... après c'est "point virgule" ou "tabulation" (rien d'intéressant)

    J'ai essayé les 3 premières, les {CR}{LF} et {LF} m'insèrent bien des lignes dans ma table mais pas comme je le voudrais : insertion d'une seule ligne au lieu de 3. En gros il ne prend pas en compte les sauts de lignes du fichier pour que ça soit le séparateur de ligne.


    merci d'avance pour vos réponses.

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    Salut,

    Dans DTS, deux formats sont disponiblesle pour les fichiers plats, le format à largeur fixe et le format délimité. Le premier est généralement pour les fichiers .txt et le second pour les fichiers .csv.
    En ce qui concerne le séparateur de ligne, normalement la combinaison de retour chariot/saut de ligne (CR/LF) doit être bon pour les fichiers .txt.
    Les ; ou , sont utilisés pour les séparateurs de colones dans des fichiers délimité.
    Si une erreur du type "Column Delimiter introuvable" apparait, il faut que ton SQL Server soit à jour du service pack (mais ça je n'en doute pas )

Discussions similaires

  1. [9i] Importer des données Excel dans une table
    Par oasma dans le forum SQL
    Réponses: 6
    Dernier message: 19/03/2007, 07h39
  2. Import de données avec TransfertText
    Par LeLaid dans le forum Access
    Réponses: 4
    Dernier message: 07/12/2006, 20h38
  3. Importer des données Access dans Excel
    Par petitloup71 dans le forum Access
    Réponses: 7
    Dernier message: 30/08/2006, 14h48
  4. Importer des donnees avec fichier txt
    Par flOZ dans le forum Requêtes
    Réponses: 8
    Dernier message: 21/04/2006, 17h26
  5. importer des donnees dans interbase
    Par ms91fr dans le forum InterBase
    Réponses: 3
    Dernier message: 25/11/2002, 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