使用Date数据类型的Bulkcopy

时间:2013-05-06 07:01:01

标签: c# sql

我正在使用批量复制将Excel数据传输到SQL Server。其中一个字段是日期格式。所以我必须返回下面的代码,但是在执行时遇到错误。请帮帮我..

SqlConnection MyConnection;

MyConnection = new SqlConnection(connetionString);
MyConnection.Open();

string reportFilenPath = System.AppDomain.CurrentDomain.BaseDirectory + "InputFileForTool" 
    + "\\OutSourceManualUploadFile.xlsx"; 
// MyConnection String to Excel Workbook
string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" 
    + reportFilenPath + ";Extended Properties=Excel 12.0;";
nSheetName = cboSheetName.Text;
nSheetName = nSheetName.Replace("$", "");

// Create MyConnection to Excel Workbook
using (OleDbConnection NewConnection = new OleDbConnection(excelConnectionString))
{
     OleDbCommand command = new OleDbCommand
     ("Select * from [" + nSheetName + "$]", NewConnection);
      NewConnection.Open();
      OleDbDataReader dr = command.ExecuteReader();
      // Bulk Copy to SQL Server
      //SqlBulkCopy bulkCopy = new SqlBulkCopy(connetionString,SqlBulkCopyOptions.KeepIdentity);
      using (SqlBulkCopy bc = new SqlBulkCopy(connetionString, SqlBulkCopyOptions.KeepIdentity))
      //using (SqlBulkCopy bc = new SqlBulkCopy(connetionString))
      {
          bc.ColumnMappings.Clear();
          bc.DestinationTableName = "OutSourceManualUpload";
          bc.ColumnMappings.Add("Device", "Device");
          bc.ColumnMappings.Add("Brand", "Brand");
          bc.ColumnMappings.Add("Model", "Model");
          bc.ColumnMappings.Add("Region", "Region");
          bc.ColumnMappings.Add("date", "date"));
          bc.ColumnMappings.Add("Resource", "Resource");
          bc.WriteToServer(dr);
      }
      NewConnection.Close();
  }
  MyConnection.Close();
}

0 个答案:

没有答案