我有个PB的应用软件要调用ORACLE的存储过程。在ORACLE8i上运行成功,但在ORACLE9i里运行失败,也没有报错窗口弹出,就是程序终止退出了。
拜求各位大师。小弟不胜感谢!
程序如下:执行到messagebox('','执行调用过程前成功.')。后面程序就终止了,//------------- 建立ACCESS的链接
// Profile test
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = false;
SQLCA.DBParm = "ConnectString='DSN=test'"
connect using sqlca;
if sqlca.sqlcode = 0 then
commit;
messagebox('','链接test成功.')
else

rollback;
messagebox('',sqlca.sqlcode)
end if//------------- 建立Oracle的链接
// Profile newts = create transaction
ts.DBMS = "O84 ORACLE 8.0.4"
ts.LogPass = profilestring("hmd.ini","database","logpass","")
ts.ServerName = profilestring("hmd.ini","database","ServerName","")
ts.LogId = profilestring("hmd.ini","database","LogId","")
ts.AutoCommit = false;
ts.DBParm = profilestring("hmd.ini","database","DBParm","")
connect using ts;
if ts.sqlcode = 0 then
commit;
messagebox('','链接oracle成功.')
else
rollback;
end ifopen(w_test)
dw_ts.settransobject(ts)
dw_1.settransobject(sqlca)DELETE from AccSLdisobey;
if sqlca.sqlcode = 0 then
commit;
messagebox('','删除成功.')
else
messagebox('',sqlca.sqlcode)
rollback;
end if
//-------------------从Oracle取数据DECLARE dept_proc PROCEDURE FOR hMd using ts;
//----------------------------------
if sqlca.sqlcode = 0 then
commit;
messagebox('','执行调用过程前成功.')
else
messagebox('',sqlca.sqlcode)
rollback;
end if
//-----------------------------------
EXECUTE dept_proc;
if sqlca.sqlcode = 0 then
commit;
messagebox('','执行调用过程后成功.')
else
messagebox('',sqlca.sqlcode)
rollback;
end if
//-----------------------------------
close dept_proc;
//--------------