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

Requêtes et SQL. Discussion :

CSV import via SQL - Schema.ini [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut CSV import via SQL - Schema.ini
    Bonjour à tous,


    J'ai dans c:\test
    • test.csv
    • Schema.ini


    Dans Access, j'ai la routine suivante


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim strSQL As String
    strSQL = " SELECT CStr(t.Name1), CDate(t.Name2), CDbl(t.Name3), CDbl(t.Name4) " & _
             " INTO TEST  " & _
             " FROM [Text;FMT=Delimited;HDR=YES;CharacterSet=ANSI;DATABASE=C:\test].[test.csv] t"
     
     
    On Error Resume Next: DoCmd.DeleteObject acTable, "TEST": On Error GoTo 0
    CurrentDb.Execute strSQL

    Si Schema.ini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [test.csv] 
    Format=Delimited(;)
    ColNameHeader=True
    MaxScanRows=0
    CharacterSet=ANSI
    Pas de probléme sauf que le nom de mes colonnes sont Expr1000, Expr1001....

    Alors j'ai ajouté dans Schema.ini

    Et là j'ai l'erreur suivante


    Merci par avance pour toute aide
    Images attachées Images attachées  

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Pour éviter le message d'erreur il faut désigner tous les noms de colonnes => Ok maintenant

    Par contre quelle option faut-il utiliser pour que les noms des colonnes soient autre chose que Expr1000, Expr1001....

    Merci par avance!

  3. #3
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CStr(t.Name1) As INFO1, CDate(t.Name2) As INFO2, CDbl(t.Name3) As INFO3...

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par galoir Voir le message
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CStr(t.Name1) As INFO1, CDate(t.Name2) As INFO2, CDbl(t.Name3) As INFO3...
    Merci galoir, j'adore ce type de solution si et tellement logique!

    Info complémentaire:
    L'alias peut être le même que le nom du champ !

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Après test, pour éviter le CAST de chaque champ dans la requête SQL Access, il suffit de déclarer le type de chaque colonne dans le schema.ini et cela permet alors d'utiliser * dans la requête SQL Access. Le format des champs dans la table créée est dans mes tests, conforme avec celui du schema.ini

    J'ai déclaré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Col4=MONTANT_CA_ESTIME Char
    Et il est bien dans ma base en texte.

    Donc le Schema.ini est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [test.csv] 
    Format=Delimited(;)
    ColNameHeader=True
    CharacterSet=ANSI
    DecimalSymbol=. 
    DateTimeFormat=MM/DD/YYYY
     
    ; MaxScanRows=2
     
    Col1=Lot Char
    Col2=dateResa1 Date
    Col3=PRIXLOG_IMMO Double
    Col4=MONTANT_CA_ESTIME Char
    Par contre j'ai un doute sur le comportement en réseau ! Je vérifie et reviens pour donner les résultats donnés !

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

Discussions similaires

  1. Importer *.csv dans BDD SQL via VB.Net
    Par Ravens dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/05/2013, 14h23
  2. Import de CSV via SQL*Plus
    Par kensem dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 14/03/2012, 14h43
  3. [CSV] Importation cvs -> SQL problème de controle
    Par dokkosaint dans le forum Langage
    Réponses: 2
    Dernier message: 19/07/2007, 16h19
  4. [Import] Fichiers liés - Schema.ini
    Par ashurai dans le forum Access
    Réponses: 2
    Dernier message: 13/03/2007, 14h58
  5. Schema.ini (Importation de données)
    Par RGShoop dans le forum Access
    Réponses: 5
    Dernier message: 20/03/2006, 18h40

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