Question

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".

Was it helpful?

Solution

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.

OTHER TIPS

Try checking the path of the filename if its correct

Check that neither the directory, nor the filename, contain spaces. If they do, you'll need to escape/quote them.

You'll also need to quote the filename if it contains an extension since the . is not a valid character in the FROM clause. Try FROM [{0}] (though this may not be the correct quoting character for the OleDbDataAdapter).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top