我使用SqlBulkCopy将OleDbDataReader中的数据(包含来自xls的数据)插入到mssql-2005中,我在OleDbDataReader上有一个云,其中包含以文本形式存储的数字(在xls中)
当我查看mssql数据时,我在该列中看到null,所有其他列都可以移动。
link text
发布于 2009-12-01 19:49:58
您需要像在代码中那样映射列...
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destConnection))
{
bulkCopy.ColumnMappings.Add("ID", "ID");
bulkCopy.ColumnMappings.Add("Email", "Email");
bulkCopy.DestinationTableName = "tableName";
bulkCopy.WriteToServer(ExcelReader);
}发布于 2011-10-20 21:59:15
当从SQL Server向SQL server进行批量复制时,源能够很好地向目标指示数据类型。在Excel中,源对数据类型进行猜测。您可以将Excel格式化为文本,但源文件(ODBC?)看一下前50行,可能会猜到它是一个数字数据类型。即使列名匹配,如果数据类型不同,我也怀疑列不会被填充。
https://stackoverflow.com/questions/1825580
复制相似问题