SqlBulkCopy列长度无效......但事实并非如此

时间:2018-05-30 23:04:19

标签: sql-server sqlbulkcopy

我的protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, \App\Http\Middleware\TrustProxies::class, \App\Http\Middleware\Cors::class, ]; 命令正在抛出异常

  

从bcp客户端收到colid 24的无效列长度。

如果我查看Sql Server Mgmt Studio中显示的第24个(从0开始)列,则它是SpaceID列。如果我通过DataTable这样做,它就是Title列。两者都在数据库中定义为SqlBulkCopy。我的专栏没有一个太大了。在我将值添加到DataTable的循环中,我检查了每个值的长度,并报告任何大于254个字符,并且没有。

还有什么可能导致这个问题?

1 个答案:

答案 0 :(得分:0)

就我而言,问题是布尔类型,Azure 读取了我的 .dsv 文件,并了解我的列中的“f”或 0 表示 false,因此 INT 或任何字符串类型对于该列来说都不是实际的。我将接收器列的数据类型更改为 BIT,它对我有用。