我的
SqlBulkCopy
命令抛出异常说
从 bcp 客户端收到 colid 24 的无效列长度。
如果我查看 Sql Server Mgmt Studio 中所示的第 24 列(从 0 开始),它就是 SpaceID 列。如果我通过数据表执行此操作,则它是标题列。两者在数据库中都被定义为
varchar(255)
。不过,我的专栏都不太大。在将值添加到 DataTable 的循环中,我检查了每个值的长度并报告了任何大于 254 个字符的情况,但没有。
还有什么可能导致此问题?
就我而言,问题是布尔类型,Azure 读取我的 .dsv 文件,并了解我的列中的“f”或 0 代表 false,因此 INT 或任何字符串类型对于该列来说不是实际的。我将接收器列的数据类型更改为 BIT,它对我有用。