public static void main(String[]args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con= DriverManager.getConnection("connectionstring","user","password");
con.prepareStatement("UPDATE TESTTABLE SET TMPSTMPCOLUMN = CURRENT_TIMESTAMP WHERE CHARCOLUMN = ?").getParameterMetaData().getParameterClassName(1);
return;
}
Выполнение этого вызывает меня
Exception in thread "main" java.sql.SQLFeatureNotSupportedException: Nicht unterstützte Funktion: checkValidIndex
at oracle.jdbc.driver.OracleParameterMetaData.checkValidIndex(OracleParameterMetaData.java:216)
at oracle.jdbc.driver.OracleParameterMetaData.getParameterClassName(OracleParameterMetaData.java:366)
at test.main(test.java:14)
Кажется, что драйвер Oracle JDB C не может правильно проанализировать оператор из-за CURRENT_TIMESTAMP. Выполнение этого подготовительного заявления работает, но получение каких-либо метаданных по параметрам не выполняется, пока CURRENT_TIMESTAMP находится где-то в запросе.
Редактировать: версия драйвера - 19.3.0.0