SqlBulkCopy dbnull.valueエラー

c# excel guid sqlbulkcopy

質問

私はバルクを使用してSQL Server 2000にExcelファイルから行を挿入しようとしています。テーブルには 'rowguid'フィールドがあり、そのデフォルト値は(newid())に設定され、null値を除くことはできません。また、RowGUIDは「Yes」に設定されています。

私のコードでは、私はrowguidの列マッピングを削除します。ここに私のコードです。

if (dr.HasRows)
{
    using (SqlBulkCopy bulkCopy =
        new SqlBulkCopy(sqlConnectionString))
        {
           bulkCopy.DestinationTableName = "configtest";
           SqlBulkCopyColumnMapping value = new SqlBulkCopyColumnMapping("rowguid", "rowguid");
           bulkCopy.ColumnMappings.Remove(value);
           bulkCopy.WriteToServer(dr);
         }


 }

私は列を取得 'rowguidはdbnull.valueを許可していません

そのフィールドの定義は次のとおりです。rowguid、uniqueidentifier、nullsをuntickedにします。

人気のある回答

参照されているマッピングを削除する必要があります。したがって、すでにColumnMappingsを持っている場合は、次のようにしなければなりません。

var mapping = bulkCopy.ColumnMappings.Cast<SqlBulkCopyColumnMapping>()
            .Single(x => x.DestinationColumn == "rowguid"));

bulkCopy.ColumnMappings.Remove(mapping);


ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ