存储过程代码如下:
CREATE OR REPLACE PROCEDURE KEIT.sp_Ms_PhoneAuthCallbackEx
(
Called VARCHAR,
Calling VARCHAR,
Cause NUMBER,
Record NUMBER,
RegionCode VARCHAR,
CalledCallBack OUT NUMBER,
CallingCallBack OUT NUMBER,
CalledOutBoud OUT NUMBER
)
IS
PhoneType NUMBER;
Result NUMBER;
Hour NUMBER;
tmprecCount NUMBER;
BEGIN
tmprecCount := 0;
CallingCallBack := 2;
CalledCallBack := 0;
CalledOutBoud := 1;
END;
/调用代码如下:
int DB_AuthCallbackEx(char* pRegionCode, char *pCalled, char *pCalling, int nCause, int nRecord, int *pCalledCallBack, int *pCallingCallBack, int *pCalledOutBoud)
{
int Result = 0;
char * call_sql="begin sp_Ms_PhoneAuthCallbackEx("
":Called<char[21],in>,"
":Calling<char[21],in>,"
":Cause<int,in>,"
":Record<int,in>,"
":RegionCode<char[21],in>,"
":CalledCallBack<int,out>,"
":CallingCallBack<int,out>,"
":CalledOutBoud<int,out>);end;";
try
{
otl_stream o(strlen(call_sql), call_sql, db);
o << pCalled << pCalling << nCause << nRecord << pRegionCode;
o.set_commit(0);
o>>*pCalledCallBack;
o>>*pCallingCallBack;
o>>*pCalledOutBoud;
}
catch(otl_exception& p)
{
return -1;
}
return Result;
}执行之后根本不会输出,就是
o>>*pCalledCallBack;
o>>*pCallingCallBack;
o>>*pCalledOutBoud;
这三个东西执行了,结果没输出来,怎么回事???在线等!!!
CREATE OR REPLACE PROCEDURE KEIT.sp_Ms_PhoneAuthCallbackEx
(
Called VARCHAR,
Calling VARCHAR,
Cause NUMBER,
Record NUMBER,
RegionCode VARCHAR,
CalledCallBack OUT NUMBER,
CallingCallBack OUT NUMBER,
CalledOutBoud OUT NUMBER
)
IS
PhoneType NUMBER;
Result NUMBER;
Hour NUMBER;
tmprecCount NUMBER;
BEGIN
tmprecCount := 0;
CallingCallBack := 2;
CalledCallBack := 0;
CalledOutBoud := 1;
END;
/调用代码如下:
int DB_AuthCallbackEx(char* pRegionCode, char *pCalled, char *pCalling, int nCause, int nRecord, int *pCalledCallBack, int *pCallingCallBack, int *pCalledOutBoud)
{
int Result = 0;
char * call_sql="begin sp_Ms_PhoneAuthCallbackEx("
":Called<char[21],in>,"
":Calling<char[21],in>,"
":Cause<int,in>,"
":Record<int,in>,"
":RegionCode<char[21],in>,"
":CalledCallBack<int,out>,"
":CallingCallBack<int,out>,"
":CalledOutBoud<int,out>);end;";
try
{
otl_stream o(strlen(call_sql), call_sql, db);
o << pCalled << pCalling << nCause << nRecord << pRegionCode;
o.set_commit(0);
o>>*pCalledCallBack;
o>>*pCallingCallBack;
o>>*pCalledOutBoud;
}
catch(otl_exception& p)
{
return -1;
}
return Result;
}执行之后根本不会输出,就是
o>>*pCalledCallBack;
o>>*pCallingCallBack;
o>>*pCalledOutBoud;
这三个东西执行了,结果没输出来,怎么回事???在线等!!!
http://blog.vckbase.com/bruceteen/archive/2004/12/30/2373.aspx
你完全可以向OTL的maillist上提问或者发bug
http://otl.sourceforge.net/otl4_bug_report.htm