2
這裏的問題(對不起,我英文不好):我與JDeveloper和Oracle10g的工作「參數類型的衝突」當調用Java存儲過程中的另一個Java存儲過程
,和我有一個Java存儲過程被調用另一個JSP像代碼:
int sd = 0;
try {
CallableStatement clstAddRel = conn.prepareCall(" {call FC_RJS_INCLUIR_RELACAO_PRODCAT(?,?)} ");
clstAddRel.registerOutParameter(1, Types.INTEGER);
clstAddRel.setString(1, Integer.toString(id_produto_interno));
clstAddRel.setString(2, ac[i].toString());
clstAddRel.execute();
sd = clstAddRel.getInt(1);
} catch(SQLException e) {
String sqlTeste3 = "insert into ateste values (SQ_ATESTE.nextval, ?)";
PreparedStatement pstTeste3 = conn.prepareStatement(sqlTeste3);
pstTeste3.setString(1,"erro: "+e.getMessage()+ ac[i]);
pstTeste3.execute();
pstTeste3.close();
}
我記錄在一個名爲ATESTE表中的錯誤,因爲這JavaSP是一個過程,而不是一個功能,我已經來操縱DML內。
所以,我得到的錯誤信息是:「參數類型的衝突」 ......
功能「FC_RJS_INCLUIR_RELACAO_PRODCAT」這是一個Java存儲過程也是如此,它已經導出到Oracle,並返回一個int變量,並且我必須閱讀這個來決定我將從這個JavaSP調用哪個Web服務。
我已經嘗試過registerOutParameter中的OracleTyep.NUMBER。
任何人都知道我在做什麼錯?
其實我已經輸入這個錯誤,它有3個參數...我已經嘗試了很多事情,但出口時,我解決了這個問題,改變功能的程序從java到oracle ... – GuiPereira 2010-04-08 11:32:45