2016-11-28 3 views
0

Я пытаюсь выбрать все таблицы в схеме по умолчанию «PUBLIC», используя подготовленный оператор и параметры для TABLE_CATALOG и TABLE_SCHEMA. Когда я создаю подготовленный оператор, я получаю сообщение об ошибке из системы, и это не имеет никакого смысла. Если я укажу TABLE_CATALOG без TABLE_SCHEMA, он отлично работает. Кроме того, если я укажу TABLE_SCHEMA без TABLE_CATALOG, он также будет работать без проблем. Я здесь что-то не так?H2 JDBC Подготовленное заявление Exception

SELECT 
    TABLE_CATALOG, 
    TABLE_SCHEMA, 
    TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE 
    TABLE_CATALOG = ?, TABLE_SCHEMA = ? 

Исключение в потоке "основной" org.h2.jdbc.JdbcSQLException: Синтаксическая ошибка в SQL

statement "SELECT 
    TABLE_CATALOG, 
    TABLE_SCHEMA, 
    TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE 
    TABLE_CATALOG = ?,[*] TABLE_SCHEMA = ?"; SQL statement: 
SELECT 
    TABLE_CATALOG, 
    TABLE_SCHEMA, 
    TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE 
    TABLE_CATALOG = ?, TABLE_SCHEMA = ? [42000-193] 
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) 
at org.h2.message.DbException.get(DbException.java:179) 
at org.h2.message.DbException.get(DbException.java:155) 
at org.h2.message.DbException.getSyntaxError(DbException.java:191) 
at org.h2.command.Parser.getSyntaxError(Parser.java:530) 
at org.h2.command.Parser.prepareCommand(Parser.java:257) 
at org.h2.engine.Session.prepareLocal(Session.java:561) 
at org.h2.engine.Session.prepareCommand(Session.java:502) 
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1203) 
at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:73) 
at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:287) 
at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:310) 
at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java) 
+0

Я просто понял, что я забыл И в предложении WHERE. –

ответ

2

Это

TABLE_CATALOG = ?, TABLE_SCHEMA = ? 

должен быть

TABLE_CATALOG = ? AND TABLE_SCHEMA = ? 
+0

Yea - Я просто понял, что - спасибо :) –

Смежные вопросы