Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在数据库中插入记录时出错_Java_Spring_Sybase - Fatal编程技术网

Java 在数据库中插入记录时出错

Java 在数据库中插入记录时出错,java,spring,sybase,Java,Spring,Sybase,在生产过程中,我们有时会遇到这个问题,我试图寻找原因,但还没有找到好运气 com.sybase.jdbc3.jdbc.SybSQLException:类型61的参数没有有效值 当我们手动运行查询时,它工作正常,出现以下错误。所以我认为查询正常 SQL state [ZZZZZ]; error code [3814]; The parameter of type 61 did not have a valid value. ; nested exception is com

在生产过程中,我们有时会遇到这个问题,我试图寻找原因,但还没有找到好运气

com.sybase.jdbc3.jdbc.SybSQLException:类型61的参数没有有效值

当我们手动运行查询时,它工作正常,出现以下错误。所以我认为查询正常

        SQL state [ZZZZZ]; error code [3814]; The parameter of type 61 did not have a valid value.
    ; nested exception is com.sybase.jdbc3.jdbc.SybSQLException: The parameter of type 61 did not have a valid value.
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:602)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:811)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:833)
    at org.springframework.jdbc.object.SqlUpdate.updateByNamedParam(SqlUpdate.java:248)
    at com.cachestore.sql.PTMSSqlUpdate.updateByNamedParam(PTMSSqlUpdate.java:35)
    at com.cachestore.PTMSCacheStore.store(PTMSCacheStore.java:277)
    ... 6 more
    Caused by: com.sybase.jdbc3.jdbc.SybSQLException: The parameter of type 61 did not have a valid value.
    at com.sybase.jdbc3.tds.Tds.a(Unknown Source)
    at com.sybase.jdbc3.tds.Tds.nextResult(Unknown Source)
    at com.sybase.jdbc3.jdbc.ResultGetter.nextResult(Unknown Source)
    at com.sybase.jdbc3.jdbc.SybStatement.nextResult(Unknown Source)
    at com.sybase.jdbc3.jdbc.SybStatement.nextResult(Unknown Source)
    at com.sybase.jdbc3.jdbc.SybStatement.updateLoop(Unknown Source)
    at com.sybase.jdbc3.jdbc.SybStatement.executeUpdate(Unknown Source)
    at com.sybase.jdbc3.jdbc.SybPreparedStatement.executeUpdate(Unknown Source)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:817)
    at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:1)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:586)
    ... 11 more
你们能帮我找出导致错误的可能原因吗?类型61的参数没有有效值,我怀疑这个字段是char2类型的


这种情况很少发生,因此我们无法复制它。任何帮助都将不胜感激

这是一条Sybase错误消息

说明:由于请求无效或非法,命令失败。检查语法、语义和权限。采取信息指示的任何纠正措施

看一看


尝试捕获异常并在catch语句中打印带有值的参数列表,这将使您能够在异常发生时检查值。

不幸的是,您没有向我们显示代码和数据库架构。但我认为这一例外非常明显。它说有两种类型:java类型和DB类型不兼容

据我所知,您正在尝试将char或可能是char[]插入varchar或类似类型的DB列中。再检查一遍。在将字符数组插入数据库之前,可能必须将其转换为字符串。

Sybase type 61是TDS_DATETIME 0x3D=61十进制。TDS 5.0参考页数据类型摘要中描述了这些类型。
这意味着服务器不喜欢这个值,因为它的大小、内容或者TDS数据包中参数之前的参数有问题。

在DB中,我们有类型为char2的列。