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

Accès aux données Discussion :

[ADO.NET][C#/CSV]Comment acceder autres extensions que .txt?


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut [ADO.NET][C#/CSV]Comment acceder autres extensions que .txt?
    Bonjour à tous,

    J'ai un problème étrange. J'accède à un fichier CSV (délimité par via les objets DbConnection. Tout fonctionne pour le mieux si mon fichier se termine par .txt. Par contre, je recoit une erreur des que celui-ci porte une autre extension!

    L'erreur: Cannot update. Database or object is read-only. se déclenche lors du Fill.

    Une idée serait la bienvenue... D'ailleurs, je n'ai pas besoin de faire des mise à jour. Alors si je pouvais lui dire d'ouvrir en readonly ca me va. Mais je n'ai pas trouvé comment.

    Merci d'avance

    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
    18
    19
    20
    21
    22
     
    public DataSet ReadCvsFile(string fileName)
            {
                DbProviderFactory dbpf = null;
                DbConnection conn = null;
                DbDataAdapter da = null;
                DataSet ds = null;
     
                dbpf = DbProviderFactories.GetFactory("System.Data.OleDb");
     
                conn = dbpf.CreateConnection();
                conn.ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"text;HDR=Yes;FMT=Delimited\"", Path.GetDirectoryName(fileName));
     
                da = dbpf.CreateDataAdapter();
                da.SelectCommand = conn.CreateCommand();
                da.SelectCommand.CommandText = string.Format("select * from {0} order by matricule", fileName);
     
                ds = new DataSet();
                da.Fill(ds);
     
                return (ds);
            }

  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    J'ai trouvé la solution au problème. Le moteur Jet de Microsoft n'est configuré de base que pour ouvrir certains types de fichier (uniquement basé sur l'extension :-( ).

    Pour ajouter un type, il suffit de modifier une clé de la base de registre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Text\DisabledExtensions
    Aussi étrange que cela puisse paraitre, la clé s'apelle DisabledExtensions...

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

Discussions similaires

  1. [ADO.Net][C#/Oracle]Comment gérer OracleType.VarChar?
    Par el_poitevin dans le forum Accès aux données
    Réponses: 5
    Dernier message: 30/03/2006, 13h08
  2. [ADO.NET][2.0] Comment se gère les pools de connection ?
    Par brousaille dans le forum Accès aux données
    Réponses: 8
    Dernier message: 04/03/2006, 19h11
  3. [C#][ADO.NET][2.0] Comment inserer des enregistrement ....
    Par doccpu dans le forum Accès aux données
    Réponses: 2
    Dernier message: 02/03/2006, 14h39
  4. [ADO.Net][C#/Mysql] Comment exécuter une requête paramétrée?
    Par wremacle dans le forum Accès aux données
    Réponses: 6
    Dernier message: 07/02/2006, 16h55
  5. [ADO.Net][C#/Oracle] Comment utiliser une requête paramètrée ?
    Par kaboume dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/07/2005, 14h50

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