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

  1. #1
    Membre éprouvé 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
    Points : 958
    Points
    958
    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 éprouvé 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
    Points : 958
    Points
    958
    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