使用iBatis2 调用SQL Server 2005 存储过程,存储过程参数为 decimal(14,2)类型
SQL代码@number decimal(14,2), -- 数量
@price decimal(14,2), -- 单价
@amount decimal(14,2), -- 总金额
@discount decimal(14,2), -- 总折扣金额SQL MAP中配置如下                <parameter property="number" jdbcType="DECIMAL"
javaType="java.math.BigDecimal" mode="IN" />
<parameter property="price" jdbcType="DECIMAL"
javaType="java.math.BigDecimal" mode="IN" />
<parameter property="amount" jdbcType="DECIMAL"
javaType="java.math.BigDecimal" mode="IN" />
<parameter property="discount" jdbcType="DECIMAL"
javaType="java.math.BigDecimal" mode="IN" />运行时报错如下--- The error occurred while applying a parameter map.  
--- Check the OrderOfPos.proc_billdetail_parameter.  
--- Check the statement (update procedure failed).  
--- Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 从数据类型 nvarchar 转换为 decimal 时出错。
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83)那位大侠遇到过,指点指点小弟。。