2009-12-01 32 views
0

我使用SqlBulkCopy的从OleDbDataReader插入数据(包含XLS数据)MSSQL 2005 我有一个包含存储为文本数OleDbDataReader一个cloumn(在XLS)SqlBulkCopy的问题

当我看着我在该列中看到的mssql数据为空,所有其他列都移动正常。

link text

回答

3

,你需要像代码映射列...

using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destConnection)) 
     { 
      bulkCopy.ColumnMappings.Add("ID", "ID"); 
      bulkCopy.ColumnMappings.Add("Email", "Email"); 
      bulkCopy.DestinationTableName = "tableName"; 
      bulkCopy.WriteToServer(ExcelReader); 
     } 
1

当从SQL服务器到SQL Server一个大容量复制,源能够指示非常出色的数据类型到达目的地。使用Excel,源代码可以猜测数据类型。您可能将Excel格式化为文本,但源(ODBC?)可能会查看前50行,并猜测它是数字数据类型。即使列名匹配,如果数据类型不同,我怀疑该列不会被填充。