【问题标题】:SqlBulkCopy problemSqlBulkCopy 问题
【发布时间】:2009-12-01 11:29:16
【问题描述】:

我使用 SqlBulkCopy 将数据从 OleDbDataReader(包含来自 xls 的数据)插入到 mssql-2005 我在 OleDbDataReader 上有一个 cloumn,其中包含存储为文本的数字(在 xls 中)

当我查看 mssql 数据时,我在该列中看到 null,所有其他列都可以移动。

link text

【问题讨论】:

    标签: c# asp.net sql-server-2005 sqlbulkcopy


    【解决方案1】:

    您需要像代码中那样映射列...

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

    【讨论】:

      【解决方案2】:

      当从 SQL Server 批量复制到 SQL Server 时,源能够很好地向目标指示数据类型。使用 Excel,来源会猜测数据类型。您可能将 Excel 格式化为文本,但源(ODBC?)可能会查看前 50 行并猜测它是数字数据类型。即使列名匹配,如果数据类型不同,我怀疑该列没有被填充。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-12
        • 1970-01-01
        • 1970-01-01
        • 2013-11-07
        相关资源
        最近更新 更多