Je n'arrive pas à comprendre pourquoi, mais quand j'utilise un OleDbDataAdapter ou OleDbCommand pour lire un fichier CSV, dans les deux cas les données résultantes sont bien structurées (il reconnaît les colonnes de l'entête du fichier), mais les données de ligne sont toutes des chaînes vides.Lire des fichiers CSV avec OleDbCommand/OleDbDataAdapter
J'ai déjà fait du traitement CSV plusieurs fois avec succès, donc la seule différence que j'ai trouvée avec ce fichier est que tous les champs du fichier sont entourés de guillemets.
J'ai essayé d'utiliser un fichier schema.ini, mais en vain. Cela ressemble à un problème avec le composant Microsoft Jet 4.0, mais je ne peux pas comprendre quel est le problème.
Voici un extrait du fichier:
"UNIQUEID","OWNERID","PHONE1","PHONE2","EMERGENCYCONTACT","ADDRESS1","ADDRESS2","ADDRESS3","ADDRESSCITY","ADDRESSSTATE","ADDRESSZIP","UNIONCODE","CUSTOM1","CUSTOM2","CUSTOM3","CUSTOM4","CUSTOM5","CUSTOM6"
"5","33","1235551212"," ","","1914 SANDFLAT ROAD","","","THOMASVILLE","AL","367849215","","contract","7.75","1","N","","A"
"6","34","1235551212"," ","","1407 OLD HWY. 5 SOUTH","","","THOMASVILLE","AL","36784","","contract","7.75","1","N","","B"
"7","35","1235551212"," ","","P.O. BOX 204","","","THOMASVILLE","AL","36784","","substitute","7.75","0","Y","","M"
"8","36","1235551212"," ","","383 UNCLE BEN RD","","","THOMASVILLE","AL","36784","","substitute","0.00","0","","",""
Voici mon code actuel:
OleDbConnection conn = new OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\payroll;" +
"Extended Properties=\"text;HDR=Yes;FMT=CSVDelimited\"");
OleDbDataAdapter adapter = new OleDbDataAdapter("select * from file.txt", conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
Voici le contenu du fichier schema.ini. Je ne pouvais pas lire le fichier sans:
[file.txt]
Format=CSVDelimited
ColNameHeader=True
Col1="UNIQUEID" Text
Col2="OWNERID" Text
Col3="PHONE1" Text
Col4="PHONE2" Text
Col5="EMERGENCYCONTACT" Text
Col6="ADDRESS1" Text
Col7="ADDRESS2" Text
Col8="ADDRESS3" Text
Col9="ADDRESSCITY" Text
Col10="ADDRESSSTATE" Text
Col11="ADDRESSZIP" Text
Col12="UNIONCODE" Text
Col13="CUSTOM1" Text
Col14="CUSTOM2" Text
Col15="CUSTOM3" Text
Col16="CUSTOM4" Text
Col17="CUSTOM5" Text
Col18="CUSTOM6" Text
CharacterSet=ANSI
Pouvez-vous montrer un échantillon de votre code actuel? – mellamokb
Démarrez le fichier schema.ini avec une ligne vide. –
Le démarrage de schema.ini avec une ligne vide n'a rien changé. – Lane