给定的 ColumnMapping 与源或目标中的任意列均不匹配。
SqlBulkCopy类SqlBulkCopy sqlbulk = new SqlBulkCopy(System.Configuration.ConfigurationSettings.AppSettings["sql"], SqlBulkCopyOptions.UseInternalTransaction);
sqlbulk.NotifyAfter = dt.Rows.Count; //目标数据库表名
sqlbulk.DestinationTableName = "dbo.[datable]"
//数据集字段索引与数据库字段索引映射
string[] a = ColumnName.Split(',');
int b = 0;
foreach (string c in a)
{
sqlbulk.ColumnMappings.Add(b, c);
b++;
}
sqlbulk.WriteToServer(dt);
sqlbulk.Close();
为什么列也对应对了,怎么就会出现那个问题?
给定的 ColumnMapping 与源或目标中的任意列均不匹配。
--------------------编程问答-------------------- 我靠!
我也出现了类似的问题,没想到,你还是这个问题,哥们你的问题解决了吗? --------------------编程问答-------------------- sqlbulk.ColumnMappings.Add(b, c);
b和c必须一致...
即sqlbulk.ColumnMappings.Add(b, b);
或sqlbulk.ColumnMappings.Add(c, c);
只要你保持添加的目标表列和源表列名字一样,就可以通过!
我之前也碰到这个问题,然后这么一改就OK了! --------------------编程问答-------------------- 这个问题的原因还有其他解决方案吗,我的是一致的,怎么还是这个错误!! --------------------编程问答-------------------- 这里 一定要保证 dt中的列名和数据库中的列名 一致,
注意 大小写也是一样。 --------------------编程问答-------------------- 我也遇到了同样的问题, 就是gguozhenqian 同学的答案 大小写的问题 程序里写的字段要跟excel、SQL Server 数据库字段分别对应一致 比如 你excel 里叫 XuHao 那你不能写成 xuhao,同样SQL Server里也是
补充:.NET技术 , ASP.NET