0

SqlBulkCopy を使用して、OleDbDataReader (xls のデータを含む) から mssql-2005 にデータを挿入します。OleDbDataReader に、テキストとして格納された数値 (xls 内) を含むクローンがあります。

mssql データを調べると、その列に null が表示され、他のすべての列は正常に移動します。

リンクテキスト

4

2 に答える 2

3

コードのように列をマップする必要があります...

using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destConnection))
        {
            bulkCopy.ColumnMappings.Add("ID", "ID");
            bulkCopy.ColumnMappings.Add("Email", "Email");
            bulkCopy.DestinationTableName = "tableName";
            bulkCopy.WriteToServer(ExcelReader);
        }
于 2009-12-01T11:49:58.370 に答える
1

SQL Server から SQL Server に 1 つの一括コピーを行う場合、ソースはデータ型を宛先に正確に示すことができます。Excel では、ソースがデータ型を推測します。Excel はテキストとしてフォーマットされているかもしれませんが、ソース (ODBC?) は最初の 50 行を見て、それが数値データ型であると推測するかもしれません。列名が一致していても、データ型が異なる場合、列に値が入力されていないと思われます。

于 2011-10-20T13:59:15.323 に答える