java - Java 1.7 vs 1.8-代码在OracleDB中停止工作

标签 java oracle oracle11g

所以我有一个Java类,以及其中的一个函数。
全部存储在oracle db(11.2.0.4)中。

将Java从1.7升级到1.8后,上述代码停止工作:

#sql { INSERT INTO table(filename,length, mod_date, type) VALUES (:element, :length, to_date(:dateStr,'dd-mm-yyyy hh24:mi:ss'), :type) };

它给了我这样的错误:
[错误](0:0):编译器(1.7.0_251)中发生异常。检查数据库中的重复项后,请在Java Bug数据库(http://bugreport.java.com/bugreport/)中提交错误。包括您的节目
[错误](0:0):java.lang.NoSuchMethodError

最佳答案

好的,我将提到的代码更改为如下代码:
String sql = " INSERT INTO table(filename,length, mod_date, type) VALUES (?,?,?,?)"; try { Connection conn = DriverManager.getConnection("jdbc:default:connection:"); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, element); pstmt.setFloat(2, length); pstmt.setDate(3, sqlDate); pstmt.setString(4, type); pstmt.executeUpdate(); pstmt.close(); } catch (SQLException e) { System.err.println(e.getMessage()); }

而且有效。

关于java - Java 1.7 vs 1.8-代码在OracleDB中停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61887770/

相关文章:

java - 从书签处的 PDF 中提取文本

sql - 使用基于函数的索引延迟唯一约束?

oracle - PLS-00306 : wrong number or types of arguments in call to 'OUTPUT_ARRAY'

php - Oracle 过程输出参数从 PHP 返回 -1

Sql:使用特殊字符作为表列的别名?

java - Java中断线程的更好方法

java - 如何处理 Sonarlint java :S2259 (Null pointers should not be dereferenced)

java - org.apache.poi.hwpf.usermodel.Paragraph 的 getTableLevel() 方法

php - 有人知道如何在 Zend 框架中将 Zend_db 组件与 oci8 一起使用吗?

linux - 在 oracle 过程中运行 shell 脚本