I’m using OleDB to import data into grid from text file with extension “.K$$”.
Here’s some example code:
FileInfo file = new FileInfo(filename);
string connectionString = "";
OleDbDataAdapter adapter;
OleDbConnection con;
connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + file.DirectoryName + ";Extended Properties=\"Text;Format=TabDelimited;\"";
con = new OleDbConnection(connectionString);
con.Open();
adapter = new OleDbDataAdapter(String.Format("SELECT * FROM {0} ", file.Name), con);
adapter.Fill(MyDataTable);
when executing the Fill method it throws the exception. What’s wrong with the FROM clause? Thanks
EDIT:
Ok, after some tests I found out that the problem is with the “$” symbols. Maybe it’s some reserved symbol ?
Also, if I rename the extension to “.txt” the file got loaded into the grid but it only have 1 column , which means it can’t see that there’re tabs in the rows.
Another issue is that when I change the file extension to something different than “.txt” (for ex. “.tx”) the Fill method throws exception “Cannot update. Database or object is read-only”.
OK, I just tried creating an example.K$$, and then tried to connect to it using the same provider as stated through Server Explorer in Visual Studio 2010. Its an Unrecognised format.
I don’t think this will ever work.
You may need to look at connecting via a different provider or method.
I think You should look at this link :-
EDIT :
http://www.codeproject.com/Articles/6737/Fill-a-DataSet-from-delimited-text-files
It will allow you to read your txt file into a datable correctly.