Calling ORACLE StoreProcedure via DFC 5.3
public class DctmProcedureTest {
public static void main(String[] sRunTimeArgs) {
DctmProcedureTest t =new DctmProcedureTest();
IDfSessionManager sMgr = null;
IDfSession dfSession = null;
for(int i=0;i<sRunTimeArgs.length;i++)
{
if (sRunTimeArgs[i].equalsIgnoreCase("-docbase_name")) {
t.m_docbase = sRunTimeArgs[i + 1];
}
if (sRunTimeArgs[i].equalsIgnoreCase("-user_name")) {
t.m_userName = sRunTimeArgs[i + 1];
}
if (sRunTimeArgs[i].equalsIgnoreCase("-password")) {
t.m_ticket = sRunTimeArgs[i + 1];
}
}
try{
sMgr = t.connectToDocbase();
dfSession = sMgr.getSession(t.m_docbase);
String testS = "begin dctm_test_pkg.dctm_test_prc(); end;";
dfSession.apiExec("execsql", testS);
}catch(Exception e){
System.out.print(e);
}finally{
try{
t.releaseSession(sMgr , dfSession );
}catch (Exception e) {
e.printStackTrace();
}
}
}
private IDfSessionManager connectToDocbase() throws Exception{
IDfClient dfClient = DfClient.getLocalClient();
IDfSessionManager sessionMgr = dfClient.newSessionManager();
DfLoginInfo loginInfo = null;
loginInfo = new DfLoginInfo();
loginInfo.setUser(m_userName);
loginInfo.setPassword(m_ticket);
sessionMgr.setIdentity(m_docbase, loginInfo);
return sessionMgr;
}
private void releaseSession(IDfSessionManager sMgr , IDfSession dfSession) throws DfException {
if(dfSession!=null) {
sMgr.release(dfSession);
sMgr.clearIdentity(m_docbase);
}
}
private String m_docbase;
private String m_userName;
private String m_ticket;
}