ฉันมี DAO เช่นนี้
public String getCaseTypeById(String caseIdNumber) {
String caseType = null;
SqlQuery caseQuery =
new PQuery(getDataSource());
System.out.println("caseIdNumber --"+caseIdNumber);
caseType = (String)caseQuery.findObject(caseIdNumber);
System.out.println("before return");
return caseType;
}
และ pQuery คือ
public PlanQuery(DataSource dataSource)
{
super();
setDataSource(dataSource);
BQueries bQueries = new BQueries();
setSql(bQueries.getSelectStandardCaseTypeQuery());
declareParameter(new SqlParameter("caseIdNumber",
Types.NUMERIC));
compile();
}
โดยที่ getSelectStandardCaseTypeQuery อยู่
public String getSelectStandardCaseTypeQuery() {
String selectCaseTypeByCaseId = null;
selectCaseTypeByCaseId =
" SELECT ct.C_CODE as c_code " +
" FROM " + getSchemaName() + ".csummary cs, " +
getSchemaName() + ".ctype ct " +
" WHERE cs.c_number = ? " +
" AND UPPER(ct.C_DESC_TEXT) = UPPER(cs.C_TYPE) ";
return selectCaseTypeByCaseId;
}
ตอนนี้ผลตอบแทนข้างต้นทำงานได้ดี การควบคุมกลับไปที่ DAO และใน DAO ระบบจะพิมพ์ sysout แต่หลังจากนั้นฉันได้รับข้อยกเว้นเป็น
[ เลือก ct.C_CODE เป็น c_type_code จาก gpt.csummary cs, gpt.ctype ct โดยที่ cs.c_number = ? และบน(ct.C_DESC_TEXT) = บน(cs.C_TYPE) ]; ข้อยกเว้นแบบซ้อนคือ java.sql.SQLException: ORA-00942: ไม่มีตารางหรือมุมมอง
at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
ข้อยกเว้นแบบรวม: org.springframework.jdbc.BadSqlGrammarException: PreparationStatementCallback; ไวยากรณ์ SQL ไม่ถูกต้อง [ SELECT ct.C_CODE as c_type_code FROM gpt.csummary cs, gpt.ctype ct WHERE cs.c_number = ? และบน(ct.C_DESC_TEXT) = บน(cs.C_TYPE) ]; ข้อยกเว้นแบบซ้อนคือ java.sql.SQLException: ORA-00942: ไม่มีตารางหรือมุมมอง
แต่เมื่อฉันดำเนินการแบบเดียวกันกับคางคกทุกอย่างก็ใช้ได้ดี ฉันเห็นว่าสคีมาการเชื่อมต่อ DB ทุกอย่างถูกต้อง แต่ทำไมมันถึงล้มเหลวใน finObject ใน DAO มีอินพุตอะไรบ้าง?