sqlbulkcopy - Fastmember 异常 : Specified argument was out of the range of valid values. 参数名称:名称

标签 sqlbulkcopy outofrangeexception fastmember

我一直遇到这个错误
指定的参数超出了有效值的范围。参数名称:名称

当我几乎只是在这里复制示例时 https://code.google.com/p/fast-member/

错误发生在 bcp.WriteToServer(reader) 上,一直在寻找其他信息,但我仍然不知道是什么导致了问题,而且示例如此简单......我什至不知道名为 的参数在哪里姓名 来自。

我的实际代码如下

        using (var bcp = new SqlBulkCopy(configvalue1))
        using (var reader = ObjectReader.Create(DataToLoad, new string[]{"id","field1","field2","field3"}))
        {
            bcp.DestinationTableName = string.Format(DestinationTableFormat, DestinationDb, DestinationSchema, DestinationTable);
            bcp.BatchSize = BatchSize ?? 10000;
            bcp.WriteToServer(reader);
            bcp.Close();
        }

有人可以帮忙吗?

提前致谢

最佳答案

对我来说,这是由于源数据对象上的属性名称与读取器创建步骤中的参数列表不匹配造成的。

class Supplier
{
    public string Code;
    public string Name;
}

// version that caused the error 
using (var rdr = ObjectReader.Create(suppliers, "code", "name"))

// compared to re-cased version to match the Supplier object property casing
using (var rdr = ObjectReader.Create(suppliers, "Code", "Name"))

我使用了 Re-sharper,它重新区分了供应商对象中的“代码”和“名称”属性,这意味着阅读器无法映射到这些属性。我在修改后的案例中保留了属性,并修改了阅读器参数列表以匹配第二行所示。

关于sqlbulkcopy - Fastmember 异常 : Specified argument was out of the range of valid values. 参数名称:名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29038415/

相关文章:

c# - 初始化列表上的 ArgumentOutOfRangeException

c# - FastMember 用法

sql - SQL 新手 - 无法获取季度日期输出

c# - SqlBulkCopy 在事务内部插入时阻止任何其他对表的写入

c# - SQLBulkCopy 上传失败时是否有任何数据?

c# - SQL Server 2008中是否有类似于BulkCopy的BulkUpdate命令

c++ - pos 为 string::npos 的 std::string::erase() 的定义行为是什么?

postgresql - 如何在 View 中捕获 'bigint out of range' 错误?

c# - FastMember ObjectReader 不适用于继承的接口(interface)