It is very straightforward to use CSV delimted with comma or tab, since they are standard default setting in registry under this entry:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Text
You may need to set to other values to use other delemiters delimited files. When you import a pipe delemited file, you can change the delemiter to pipe. But you cannot work with other type deleimeted files. Another way is to use Schema.ini file to control a specific text file for importing.
One way to define the delimiter: you can use a Schema.ini file to define your text file name and delimiter.
Here is a sample Schema.ini file and it will sit in the same folder as your text file.:
[myPipeFileName.txt]
Format=Delimited(|)
ColNameHeader=False
MaxScanRows=0
More information about Schema.ini: http://msdn.microsoft.com/en-us/library/ms709353(VS.85).aspx
Here is an example with a button clik to show a piple delemited on an ASP.NEt page:
protected void Button1_Click(object sender, EventArgs e)
{
string str = System.IO.Path.GetDirectoryName(MapPath(".\\App_Data\\myPipe.txt")); string strConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + str + "; Extended Properties=\"Text;HDR=No;\""; OleDbConnection oCon = new OleDbConnection(strConString);oCon.Open();
//F1, F2, F3 …. in the place of column names string strSql = "SELECT * FROM myPipe.txt"; OleDbDataAdapter daSource = new OleDbDataAdapter(strSql, oCon); DataSet ds = new DataSet();daSource.AcceptChangesDuringFill =
false;daSource.Fill(ds,
"TransferData");GridView3.DataSource = ds;
GridView3.DataBind();
}
