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

ASP.NET Discussion :

[VB.NET][1.1] Import d'un fichier TXT depuis le poste client


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 18
    Points : 17
    Points
    17
    Par défaut [VB.NET][1.1] Import d'un fichier TXT depuis le poste client
    Bonjour ,

    Je dois importer les données d’un fichier TXT situé sur le poste client pour mettre à jour une base SQL*server sur le serveur.
    Mon idée est de mettre à disposition du poste client un WebForm avec un fileUpload puis un bouton Démarrer qui va parcourir en boucle l’ensemble du fichier TXT pour le traitement de mise à jour .
    Voici donc à quoi ressemble mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    fichier = MonFileUpload.Value
    Dim filenum,  As Integer
    Dim var1 as string
    filenum = FreeFile()
    FileOpen(filenum, fichier, OpenMode.Input, OpenAccess.Read)
    Input(filenum, var1)
    While Not EOF(filenum)
    …. Traitement insert SQL …
    End While
    FileClose(filenum)
    Je plante sur le FileOpen avec le message : « Could not find a part of the Path D:/temp/fiClient.txt »

    Autrement dit ,je comprend qu’il essaye d’ouvrir le fichier TXT sur le serveur alors que celui se trouve sur le poste client !
    Que dois je Faire ?
    Suis-je obligé de sauvegarder le fichier TXT sur le serveur pour l’exploiter ?
    Est-ce que j’utilise les bonnes instructions ?

    Merci d’avance pour vos bons conseils

  2. #2
    Membre actif
    Inscrit en
    Janvier 2004
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 208
    Points : 227
    Points
    227
    Par défaut
    salut

    c'est normal il faut reprendre le root directory physique + ton rep de stockage

    si je ne me trompe pas tu devrais trouvé quelque chose comme
    Server.MapPath("~/tonRepUpload")

    ce qui te donne en exemple c:\wwwroot\monappliweb\tonRepUpload

    a plus

  3. #3
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    Je pense que oui, il serait préférable d'uploader déjà ton fichier sur le serveur.
    Une fois que ton fichier est uploader tu le traites, et quant tu as finis, tu peux l'effacer si tu veux.

    Pour se faire, tu peux utiliser le control File Field sans oublier de lu mettre un runat=server. Je crois qu'il y a un exemple de code sur Developpez. Il me semble que c'est là que j'avais trouvé comment faire un Upload.

    Bon courage.

    VinZ

  4. #4
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 18
    Points : 17
    Points
    17
    Par défaut [vb.net][1.1] Import fichier Text
    J'ai donc Uploader mon fichier sur le serveur.

    Tout ce passe bien ... temps que mon fichier TXT n'est pas trés gros.

    MAIS passé la centaine d'enregistrements voici l' exception que je récupère:

    TIMEOUT EXPIRED . THE TIMEOUT PERIOD ELAPSED PRIOR TO OBTAINING A CONNECTION FROM THE POOL. THIS MAY HAVE OCCURED BECAUSE ALL POOLED CONNECTIONS WERE IN USE AND MAX POOL SIZE WAS REACHED

    Quelqu'un peut il me dire se qu'il se passe ?

    Voici mon nouveau code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Dim RepertoireImport As String = Server.MapPath("\Webmvu\")
                    MonFileUpload.PostedFile.SaveAs(RepertoireImport & "toto.txt")
     
     
                Dim fichier, final As String
                fichier = MonFileUpload.Value
                Dim filenum, prog, anomalie As Integer
                Dim fs As New FileStream("D:\Webmvu\toto.txt", FileMode.Open, FileAccess.Read)
     
                Dim reader As New StreamReader(fs)
                Dim line As String = reader.ReadLine
     
                Do While Not line Is Nothing
     
                        ... Boucle de INSERT SQL ....
                 Loop
                 reader.Close()

  5. #5
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    Je pense que c'est parceque ton fichier dépasse la taille maximum autorisée. C'est un paramètre à régler dans ton WebConfig.

    Il faut rajouter ceci juste après la balise <system.web>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <system.web>
    	<httpRuntime maxRequestLength="MyFileSize"/>
    Ou MyFilSize est la taille maximum qu'il est permis d'uploader sur ton serveur. Si tu mets par exemple 1000000 à la place, tu pourras uploader des fichiers de 1Mo, ce qui fait un gros fichier texte quand même .

    Voili voilou

    VinZ

Discussions similaires

  1. [VB.NET]Supprimer première ligne d'un fichier TXT
    Par Golzinne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/11/2006, 16h03
  2. importation d'un fichier txt dans une table
    Par pierre.egaud dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/09/2006, 16h26
  3. import d'un fichier .txt
    Par mat75019 dans le forum Access
    Réponses: 24
    Dernier message: 26/04/2006, 16h31
  4. Réponses: 5
    Dernier message: 21/10/2005, 11h48

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