从sql server JDBC驱动程序键入NUMERIC值的映射

时间:2014-05-13 09:28:21

标签: java sql sql-server jdbc

根据javadoc

  

void setBigDecimal(String parameterName,                      BigDecimal x)                      抛出SQLException
  将指定参数设置为给定的java.math.BigDecimal值。驱动程序将其转换为   将数字发送到数据库时的SQL NUMERIC值。

我有一些mssql stored procedure,其参数类型为NUMERIC(10, 0),我尝试在JDBC中将此值作为java.math.BigDecimal传递...但我得到了:

com.microsoft.sqlserver.jdbc.SQLServerException: Error converting data type decimal to numeric

我可以找到解决方法(例如,将参数类型更改为BIGING并使用Java中的setLong)。

但我的问题是......这是sql server jdbc驱动程序中的这个错误吗?

1 个答案:

答案 0 :(得分:0)

java.lang.Long可能适合这里,但我认为这是mssql驱动程序中的一个问题。