Bonjour,

J'ai besoin d'accéder le contenu d'un fichier CSV comme une base de données pour pouvoir faire des sélections de données et modifications.

Pour la connection et la sélection des champs, j'utilise le code suivant (C#):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string strConnString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq="+@"C:\Documents and Settings\davidm\Bureau\CSV\"+";Extensions=asc,csv,tab,txt;Persist Security Info=False";
connection = new System.Data.Odbc.OdbcConnection(strConnString.Trim());
//Open the connection 
                connection.Open();
// Commands to use
                sql_select = "SELECT DISTINCT * FROM [" + fileOutlook + "]";
 
                outlookDataAdapter = new System.Data.Odbc.OdbcDataAdapter(sql_select, connection);
 
                //Fill dataset with the records from CSV file
                outlookDataAdapter.Fill(outlookDataSet, "Outlook");
 
                oOutputDataSet=new DataSet();
                oOutputDataSet.Tables.Add("Outlook", "Outlook");
A ce niveau, le contenu de mon fichier est chargé et listé dans mon DataSet, pas de problème.

Par contre si un champ de texte contient un long contenu, celui-ci est rogné à l'affichage dans le DataSet et je ne sais pas pourquoi.

J'ai essayé d'écrire manuellement un long texte dans le DataSet, cela fonctionne et le texte n'est pas rogné.

J'en déduis donc qu'il s'agit d'un problème au niveau de la connection à ma base, faut-il définir une taille de buffer pour les champs, ou autre chose?

Merci d'avance pour votre aide!