读取和检查.csv文件,然后将其上传到sql server 2008 r2

时间:2010-09-30 01:14:36

标签: c# csv sql-server-2008-r2

我有一个页面,其中有一个文件上传选项,我必须上传/导入csv文件。我想要做的是检查是否上传了正确的文件格式,例如,如果上传了除csv文件以外的任何文件,系统应该给出错误消息。另外我需要做的是检查csv文件的某些字段,例如csv文件中有一些必须填写的字段,如名称,邮政编码,如何检查这些字段是否为空。执行这些任务后,系统应自动将csv文件上传到sql sever 2008.任何想法或教程......都将受到高度赞赏。

3 个答案:

答案 0 :(得分:0)

查看此主题:

Parsing CSV files in C#, with header

我相信这会让你随心所欲地提取它,然后轻松地将它推送到SQL Server的一个表中。

答案 1 :(得分:0)

尝试使用 Oledb 。这个codesnippet可以帮助你将csv文件读入一个数据表,该数据表应该很容易转储到数据库中。

public static DataTable ParseCSV(string path)
{
  if (!File.Exists(path))
    return null;

  string full = Path.GetFullPath(path);
  string file = Path.GetFileName(full);
  string dir = Path.GetDirectoryName(full);

  //create the "database" connection string
  string connString = "Provider=Microsoft.Jet.OLEDB.4.0;"
    + "Data Source=\"" + dir + "\\\";"
    + "Extended Properties=\"text;HDR=No;FMT=Delimited\"";

  //create the database query
  string query = "SELECT * FROM " + file;

  //create a DataTable to hold the query results
  DataTable dTable = new DataTable();

  //create an OleDbDataAdapter to execute the query
  OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);

  try
  {
    //fill the DataTable
    dAdapter.Fill(dTable);
  }
  catch (InvalidOperationException /*e*/)
  { }

  dAdapter.Dispose();

  return dTable;
}

答案 2 :(得分:0)

在codeproject.com上查看fast CSV reader结束

另一种选择是使用SSIS