Я пытаюсь загрузить данные файла Excel в таблицу SQL,
ниже мой код
using (SqlConnection objCon = new SqlConnection(strCoon))
{
objCon.Open();
SqlCommand sqlCommand = new SqlCommand("DeleteDump", objCon);
sqlCommand.CommandTimeout = 0;
sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
sqlCommand.ExecuteNonQuery();
using (System.Data.SqlClient.SqlBulkCopy sqlBulk = new System.Data.SqlClient.SqlBulkCopy(strCoon))
{
sqlBulk.BulkCopyTimeout = 0;
sqlBulk.DestinationTableName = "InformationDump";
for (int i = 0; i < DumpResources.GetLength(0); i++)
{
sqlBulk.ColumnMappings.Add(dt.Columns[i].ColumnName.ToString(), DumpResources[i, 1].ToString());
}
sqlBulk.WriteToServer(dt);// Getting error at this line
}
}
Я получаю ошибку, поскольку The given value of type String from the data source cannot be converted to type datetime of the specified target column.
Лист Excel, который я пытаюсь загрузить, содержит нулевые данные, которые я не могу загрузить в таблицу назначения.
Я думаю, проблема в том, что вы пытаетесь преобразовать нулевое значение в строку, а затем попытаетесь поместить его в поле, которое принимает только дату и время. Проверьте, есть ли что-либо (так notnull), прежде чем преобразовать его в строку.