小编use*_*344的帖子

我无法理解ORA-01722背后的原因:无效数字

我有一个随机生成的问题(在千分之一的通话之间).错误ORA-01722:准备语句Oracle数据库中执行sql update时,以随机方式生成错误的数字.案例详情如下:

try {
        connection = getConnection();
        statement = connection.prepareStatement(sql);
        for (int i = 0; i < params.length; i++) {
            if (params[i] instanceof Date) {
                statement.setTimestamp(i + 1, new Timestamp(((Date) params[i]).getTime()));
            } else if (params[i] instanceof java.util.Date) {
                statement.setTimestamp(i + 1, new Timestamp(((java.util.Date) params[i]).getTime()));
            } else {
                statement.setObject(i + 1, params[i]);
            }
            paramsBuilder.append(": " + params[i]);
        }
        if (logger.isInfoEnabled()) {
            logger.info("Query String  [" + sql + "] [" + paramsBuilder + "]");
            logger.info("Query Parameters …
Run Code Online (Sandbox Code Playgroud)

java oracle jdbc prepared-statement ora-01722

6
推荐指数
1
解决办法
5万
查看次数

标签 统计

java ×1

jdbc ×1

ora-01722 ×1

oracle ×1

prepared-statement ×1