À l'aide de OleDbConnection à Lire l'Onglet Fichier Séparé
Mon fichier délimité par des tabulations est quelque chose comme ceci:
ISO ISO3 ISO-Numeric
AD AND 20
J'ai essayé le code suivant à pas de chance.
OleDbConnection cn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= |DataDirectory|;Extended Properties='text;HDR=Yes;FMT=TabDelimited'");
OleDbCommand cmd = new OleDbCommand(@"SELECT * FROM countryInfo.txt", cn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
cn.Open();
DataTable dt = new DataTable();
da.Fill(dt);
Voici une capture d'écran de la base de données Visualizer. Son évidemment pas la sortie que je suis après.
Des suggestions? Voici mon Schéma.fichier ini. Son dans le même répertoire que le fichier texte.
[countryInfo.txt]
Format=TabDelimited
ColNameHeader=True
CharacterSet=ANSI
Devrais-je utiliser quelque chose comme FileHelpers à la place?
@Hans Passant, Voici une capture d'écran.
J'ai toujours analyser le fichier de moi-même.
J'ai travaillé avec ces il y a quelques années, donc je suis assez rouillé. Mais je me souviens que le schéma.ini devait être dans le même répertoire que le fichier de données. Aussi, pour avoir un signe # dans l'avant de la colonne "peut" être un problème, mais je ne suis pas sûr. Il pourrait interpréter votre en-tête de colonne de la ligne à être commenté.
Schéma.ini dans le même dossier. Aussi, j'ai essayé de supprimer le signe#, mais cela ne semble pas aider.
J'ai travaillé avec ces il y a quelques années, donc je suis assez rouillé. Mais je me souviens que le schéma.ini devait être dans le même répertoire que le fichier de données. Aussi, pour avoir un signe # dans l'avant de la colonne "peut" être un problème, mais je ne suis pas sûr. Il pourrait interpréter votre en-tête de colonne de la ligne à être commenté.
Schéma.ini dans le même dossier. Aussi, j'ai essayé de supprimer le signe#, mais cela ne semble pas aider.
OriginalL'auteur Prabath Yapa | 2010-10-31
Vous devez vous connecter pour publier un commentaire.
Bien, un candidat évident, c'est que cet espace blanc n'est pas réellement un onglet, mais des espaces. Essayez FMT=Délimité( ). L'utilisation d'un hex viewer pour voir ce qui est vraiment là. Document d'information est ici.
Et ce fil montre pourquoi l'utilisation d'un buggy bout de code comme le Jet qui n'a pas été pris en charge pour les 9 dernières années est telle que l'erreur. Avec la réponse, laissez la première ligne dans le schéma.ini vide.
Vous êtes censés voir les nombres hexadécimaux, pas de points. Poste une capture d'écran.
Aucune idée de ce qu' "bh" peut signifier, qui était le point de demander une capture d'écran. 09 est en effet le code ascii d'un onglet.
Oui sa 09. Capture d'écran ci-dessus.
Aucune idée. Vérifiez ce thread: social.microsoft.com/Forums/en-US/Offtopic/thread/...
OriginalL'auteur Hans Passant
Créer et enregistrer un schéma.fichier ini dans le dossier de l'application contenant le texte suivant:
Alors utiliser le code suivant pour charger le Data.txt fichier:
OriginalL'auteur Uzair Tahir