Java Web服务中的ORA-01861,但SP正在工作
我有一个SP,包含3个输入参数和4个输出。输入为数字,输出为VARCHAR(descResponse),其他为数字 在java中,当我记录响应时:Java Web服务中的ORA-01861,但SP正在工作,java,oracle,stored-procedures,Java,Oracle,Stored Procedures,我有一个SP,包含3个输入参数和4个输出。输入为数字,输出为VARCHAR(descResponse),其他为数字 在java中,当我记录响应时: logger.info(“Out[“+res.getCodResponse()+”][“+res.getDescResponse()+”]) 印刷品是: Out[-1861][ORA-01861:文本与格式字符串不匹配] 带有SP参数的java属性之间的映射类型相同(数字:Integer/Double,varchar:String) 问题是,当我使用
logger.info(“Out[“+res.getCodResponse()+”][“+res.getDescResponse()+”])代码>
印刷品是:
Out[-1861][ORA-01861:文本与格式字符串不匹配]
带有SP参数的java属性之间的映射类型相同(数字:Integer/Double,varchar:String)
问题是,当我使用具有相同参数的SQLDeveloper时,响应是正常的。因此,我不知道我的WS是否工作或SP。我的sql DevLoper上的NLS设置与DB上的不同,因此我更改sql DevLoper上的NLS设置,我可以检测错误的日期引用并修复它。您在SP的某个位置执行隐式日期转换,NLS设置不同。不能再具体了,因为您还没有显示该代码。您需要仔细检查并找到错误的日期参考。您可以在SQLDeveloper中更改设置以将其中断,然后您可能会在错误堆栈中看到行号。祝您好运。如果您遇到此错误时可能出现示例参数值,请共享您的SP签名、Java声明变量。谢谢@Alex Poole,更改NLS设置我可以检测并修复错误的日期引用,我不知道NLS设置,谢谢=)。