我使用表值参数将大量数据插入到各种表中。当这些表具有带缩放的数字列并且在单个数据表中时,存在具有不同比例数的行我得到以下错误:
传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确。表值参数3(“”),第0行,第0列:数据类型0x6C具有无效的精度或比例
发生这种情况的一个例子。
如果该示例中的第二行对于数字列的值为1.3,则不会出现错误。这是在Java中使用来自带有SQL Server 2016数据库的SQL Server的Microsoft JDBC驱动程序6.0中的jdbc42.jar。
答案 0 :(得分:0)
在设置集成测试并花费一个小时左右尝试不同的事情后,我发现原因是这些值作为字符串插入到数据表中,并且列的值为零,并且有多个尾随零导致此错误。
“0”没关系,“0.0”没关系。 “0.00”不是。按数字插入行修复它,0.00就可以了。