org.springframework.jdbc.UncategorizedSQLException: 不允许从数据类型 varbinary 到 date 的隐式转换

org.springframework.jdbc.UncategorizedSQLException: 
### Error updating database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 不允许从数据类型 varbinary 到 date 的隐式转换。请使用 CONVERT 函数来运行此查询。
### The error may involve com.fufang.cloud.epscm.mapper.single.PullMaterialMapper.saveMaterial-Inline
### The error occurred while setting parameters
### SQL: insert into *****     (id,    barcode,matcode,batchNum,name,commonName,    spec,unit,dosage,licenseNum,manufName,    prodPlace,pinyin,matNextId,productDate,validDate,    retailPrice,zhongbao,supplierId,createTime,createPerson,    insertSource,sellState,imageUrl,imageName,manufNameAbbr)   VALUES    (      ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?    ),(     ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?    ),(     ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?,    ?    )
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 不允许从数据类型 varbinary 到 date 的隐式转换。请使用 CONVERT 函数来运行此查询。
; uncategorized SQLException for SQL []; SQL state [S0003]; error code [257]; 不允许从数据类型 varbinary 到 date 的隐式转换。请使用 CONVERT 函数来运行此查询。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 不允许从数据类型 varbinary 到 date 的隐式转换。请使用 CONVERT 函数来运行此查询。
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:74)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:399)

at com.sun.proxy.$Proxy463.insert(Unknown Source)


mybites在保存生产日期和保质期时报这个错,前边已经加了时间转换,但还是报错不知为何,后来对时间做了单独处理才正常运行:

 insert into ¥¥¥¥¥  (id,matcode,name,licenseNum,manufName,prodPlace,spec,dosage,
        retailPrice,sellState,batchNum,productDate,validDate,supplierId,unit,createTime)
values(
   #{item.id},
#{item.matcode},
#{item.name},
#{item.licenseNum},
#{item.manufName},
#{item.prodPlace},
#{item.spec},
#{item.dosage},
#{item.retailPrice},
#{item.sellState},
#{item.batchNum},
#{item.productDate,jdbcType=DATE},
#{item.validDate
,jdbcType=DATE},

#{item.supplierId},
#{item.unit},
#{item.createTime}
)

你可能感兴趣的:(错误总结)