delphi FireDAC 调用 Execute 提示 `[FireDAC][SQL Server Native Client 10.0]字符串数据,长度不匹配` 错误

发布时间 2023-09-09 11:08:39作者: txgh

FireDAC 调用 Execute 提示 [FireDAC][SQL Server Native Client 10.0]字符串数据,长度不匹配 错误

问题

调用 Execute 向SQL Server数据库中批量插入数据时,参数中有BLOB 数据类型(ftBlob、ftMemo 等)时,出现 [FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 10.0]字符串数据,长度不匹配 错误

FDCommand1.Params.ArraySize := 10000;
FDCommand1.Execute(1000, 0);

解决

ResourceOptions.ArrayDMLSize 设置为 1

FDCommand1.ResourceOptions.ArrayDMLSize := 1;

或 将 Params.ArraySize 设置为 1

FDCommand1.Params.ArraySize := 10000;

这似乎是 Microsoft SQL Native Client ODBC 驱动程序中的一个错误。

参考

FireDAC MS SQL Server 相关的问题

ODBC 错误代码

ODBC 错误代码列表