Oracle ojdbc7驱动程序12.1.0.2问题

时间:2018-10-11 16:38:42

标签: java sql oracle ojdbc

我有以下SQL语句:

SELECT ID_TABLE_1
FROM TABLE_1
WHERE TABLE_1.STRING_FIELD=(
   SELECT ANOTHER_STRING FROM ANOTHER_TABLE      
   WHERE ID_ANOTHER_TABLE = 1) 
AND TABLE_1.FIELD_2= :PARAM

当我准备陈述时,一切都很好。但是当我调用getParameterMetaData()时,会发生异常:

原因:java.sql.SQLSyntaxErrorException:ORA-00923:在期望的位置找不到FROM关键字

private static Pair<JDBCResources, Integer> execSQL(Connection conn,   String sqlStatement, String params, boolean executeUpdate) {
  try {
    PreparedStatement ps = conn.prepareStatement(sqlStatement); //OK
    ParameterMetaData paramData = ps.getParameterMetaData(); //java.sql.SQLSyntaxErrorException

如果使用Oracle Database 12.1.0.2 JDBC驱动程序-> ojdbc7.jar (3,698,857字节),则会出现例外 它与Java 6 JDBC驱动程序兼容-> ojdbc6.jar (1,988,051字节)

此SQL语句有什么问题?由于我使用的是Java 8,即使在Oracle Database X / XI上也可以使用ojdbc7驱动程序吗?

0 个答案:

没有答案