You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot调用SQL Server存储过程时nvarchar转datetime报错

SpringBoot调用SQL Server存储过程POST接口报nvarchar转datetime错误的解决

问题现象

  • GET接口调用目标存储过程可正常执行
  • POST接口传递包含id、state_id、name的JSON参数时,触发错误:Error converting data type nvarchar to datetime.
  • 通过SQL Server Profiler抓取到的执行语句,直接在SQL Server客户端执行无任何异常
  • 存储过程中creation_timestamp字段已设置为通过GETDATE()自动生成,无需手动传入

排查过程与原因

检查SpringBoot代码发现:实体类City定义了命名存储过程saveCity,在Controller调用该存储过程时,额外注册了输出参数message。这个多余的输出参数注册导致JDBC的参数映射逻辑出现偏差,错误地将某个字符串类型参数尝试转换为datetime类型,进而触发类型转换错误。

解决方案

注释掉Controller中注册输出参数message的代码,重新测试POST接口即可解决问题。


内容的提问来源于stack exchange,提问作者iamtarang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 14:59:59