-2
Я пытаюсь выполнить запрос через JDBC для Oracle DB. Я проверил, что он работает в SQL Developer. Но когда я запускаю его через JDBC Я получаю «пустое» значение наJDBC: Не удалось создать оператор
ps = con.prepareStatement(sql.toString());
Я пробовал различные заявления и запросы SQL, все работы в проявителе SQL боры Неправительственного в JDBC. Кроме того, я не получаю трассировку стека для отладки на ..
Query1
sql.append("SELECT * FROM Tabel WHERE (ID1=" + id + " AND ORG=" + org + ") OR (ID2=" + id + " AND ORG=" + org + ")");
QUERY2
sql.append("SELECT * FROM Tabel WHERE (ID1=" + id + " OR ID2=" + id + ") AND ORG=?" + org);
Query3
sql.append("SELECT * FROM Tabel WHERE (ID1=? OR ID2=?) AND ORG=?");
ps = con.prepareStatement(sql.toString());
ps.setString(1, id);
ps.setString(2, id);
ps.setString(3, org);
Код
try {
log.debug("Creating Query");
StringBuffer sql = new StringBuffer();
sql.append("SELECT * FROM Table WHERE (ID1=? OR ID2=?) AND ORG=?");
log.debug("Query created: " + sql.toString()); //Don't get here
ps = con.prepareStatement(sql.toString());
ps.setString(1, id);
ps.setString(2, id);
ps.setString(3, org);
log.debug("Query Created!!!!");
con = getConnection();
} catch (Exception e) {
log.error("Could not create statement in methodXXX");
//Returns null in e.getMessage()
throw new Exception("Could not create query: " + e.getMessage());
}
// Хенрик
Где именно вы пытаетесь выполнить? Насколько я вижу, вы просто установили значения параметров. – user1455836
И что такое 'sql', прежде чем вы присоедините к нему? –
запрос 3 - хорошая практика, и он должен работать –