Java mssql jdbc无法保存BigDecimal字段。将数据类型nvarchar转换为十进制时出错

Java mssql jdbc无法保存BigDecimal字段。将数据类型nvarchar转换为十进制时出错,java,sql-server,mssql-jdbc,Java,Sql Server,Mssql Jdbc,我看到一个错误,当试图用BigDecimal持久化对象时 com.microsoft.sqlserver.jdbc.SQLServerException:将数据类型nvarchar转换为十进制时出错 为了避免这个错误,我必须降低BigDecimal的精度。或者只使用JTDS驱动程序 也许,我不明白什么?这一错误持续多年。在使用mssql jdbc时,是否需要设置一些属性 显然,转换过程将double转换为一个字符串,该字符串可能在十进制后面包含太多的值。然后将其转换为BigDecimal。这个转

我看到一个错误,当试图用BigDecimal持久化对象时

com.microsoft.sqlserver.jdbc.SQLServerException:将数据类型nvarchar转换为十进制时出错

为了避免这个错误,我必须降低BigDecimal的精度。或者只使用JTDS驱动程序

也许,我不明白什么?这一错误持续多年。在使用mssql jdbc时,是否需要设置一些属性

显然,转换过程将double转换为一个字符串,该字符串可能在十进制后面包含太多的值。然后将其转换为BigDecimal。这个转换过程就是错误的来源


我通过使用decimalFormat保留我想要的有效位数,并在新的BigDecimal转换中使用该字符串来解决这个问题。

请按照下面的链接-需要使用缩放功能,以便可以对小数进行四舍五入


是的,我知道那个悲惨的故事。但我感到惊讶的是,2017年仍然没有解决方案,除非手动缩放。