4
我試圖執行在Java中使用的JdbcTemplate以下Oracle查詢:嵌套的異常是java.sql.SQLException中:無效的列名ORACLE
select RESOURCE_ID
from REPRO_PRINTING_JOB
where (USER_ID=? and PRINTING_CENTER_ID=?)
group by RESOURCE_ID
union all
select RESOURCE_ID
from REPRO_PRINTING_JOB_OLD
where (USER_ID=? and PRINTING_CENTER_ID=? and STATE='CM')
group by RESOURCE_ID
查詢是可以正常使用的Oracle查詢瀏覽器,但在其不工作在java中執行。什麼可能是這個問題的根源?我聽說過有關Jdbc無法處理大小寫的問題。這是真的?
添加的Java代碼(校正): 我打電話使用getStatement()來檢索從外部源查詢(屬性文件)作爲初級講座查詢:
public List<PrintingJob> getPrintingJobsByCreatedUserId(String createdUserId, String userId) {
if(log.isDebugEnabled()) {
log.debug("getReportItemsByUserId(" + createdUserId + "," + userId + ")");
}
try {
System.out.println("getPrintingJobsByResourceId : createdUserId :"+createdUserId+",userId : "+userId);
return getJdbcTemplate().query(getStatement("gen.report.userid"),
new Object[]{createdUserId, userId, createdUserId, userId},
new PrintingJobMapper());
} catch (DataAccessException ex) {
log.error("Error executing query: " + ex.getClass() + ":" + ex.getMessage());
return null;
}
}
以及你如何在Java中編寫它? – Naved 2012-03-06 07:53:27
是否確定查詢是正確讀取的,因爲您正在從屬性文件中讀取它? – GolezTrol 2012-03-06 08:16:31
是的,我很確定,因爲如果它沒有正確地讀取語句,java會拋出NoSuchElementException,其中沒有找到相關的鍵。 – Best 2012-03-06 08:19:15