首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在查询中查找哪个字段出现错误

问如何在查询中查找哪个字段出现错误
EN

Stack Overflow用户
提问于 2013-06-26 13:59:10
回答 3查看 5.1K关注 0票数 0

如何在查询中查找哪个字段出现错误:

com.abc.fast.common.db.exception.UncategorizedSQLException: CallableStatementCallback;SQL {调用p_proc_u(?,?,?),?,?)};ErrorCode: 257;SQLState: 42000;消息:不允许从数据类型'VARCHAR‘到’数值‘的隐式转换。使用转换函数运行此查询。(DataSource: 1,Type: SYBASE);嵌套异常是com.sybase.jdbc3.jdbc.SybSQLException:不允许从数据类型'VARCHAR‘到’数值‘的隐式转换。使用转换函数运行此查询。

EN

回答 3

Stack Overflow用户

发布于 2013-06-26 14:03:19

这表示数值被引号括起来,或者字符值缺少引号。

再次检查您的代码,以确保值正在正确地传递到数据库中。

票数 0
EN

Stack Overflow用户

发布于 2013-09-12 16:46:59

如果使用Spring的存储过程模板,请确保“declareParameter”的顺序与目标存储过程中指定的参数列表的顺序相同。

给定一个存储的proc,它看起来像:

代码语言:javascript
复制
CREATE PROCEDURE dbo.sp_ac_createStoredProc

(
    @pFirst_name  VARCHAR(100),
    @pLast_name   VARCHAR(100)  = NULL,
    @pAge         NUMERIC(2,0) = NULL

像这样声明你的参数

代码语言:javascript
复制
declareParameter(new SqlParameter(FIRST_NAME, Types.VARCHAR));
declareParameter(new SqlParameter(LAST_NAME,  Types.VARCHAR));
declareParameter(new SqlParameter(AGE,        Types.NUMERIC));

一切都会好的。如下所示声明参数:

代码语言:javascript
复制
declareParameter(new SqlParameter(AGE,        Types.NUMERIC));
declareParameter(new SqlParameter(FIRST_NAME, Types.VARCHAR));
declareParameter(new SqlParameter(LAST_NAME,  Types.VARCHAR));

好吧,基本上,就是不要。

票数 0
EN

Stack Overflow用户

发布于 2015-04-29 12:58:07

您可以看到它最终用于调用存储的proc的变量值。这可以通过将jdbctemplate记录器设置为调试模式来实现。例如,如果使用Spring,则可以将属性log4j.logger.org.springframework.jdbc.core设置为DEBUG。这可以在log4j.properties或logback.xml中完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17322183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档