Показать сообщение отдельно
Старый 23.12.2004, 17:49   #12  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Вот такой код у меня работает 6 секунд:
PHP код:

static void DD_StoredProcWithParam(Args _args)
{
    
str     serverName      "AXAPTA-SQL";
    
str     baseName        "AXDB";
    
str     userId          "sa";
    
str     userPassword    "";
    
CCADOConnection         cn;
    
COM                     comCN;
    
COM                     cmd;
    
COM                     paramparams;
    
COMVariant              emptyParam;
    
COMVariant              result;
    
int                     i;
    ;

    
cn = new CCADOConnection();
    
cn.open(
        
"Provider=SQLOLEDB;"+
        
"Data Source="      serverName    +   ";" +
        
"Initial Catalog="  baseName      +   ";" +
        
"uid="              userId        +   ";" +
        
"pwd="              userPassword);

    
comCN cn.connection();

    
cmd     = new COM("ADODB.Command");
    
param   = new COM("ADODB.Parameter");
    
params cmd.Parameters();
    
param.Type(16);      //adTinyInt, смотрите броузер объектов в среде VB в Экселе
    
param.Name("@Res_"); //для Оракла обязательно передавать имя параметра
    
param.direction(3);  //adParamInputOutput, смотрите броузер объектов в среде VB в Экселе
    
params.append(param);
    
cmd.activeConnection(comCN);
    
cmd.commandType(4);  //adCmdStoredProc, смотрите броузер объектов в среде VB в Экселе
    
cmd.CommandText("axExp");
    
emptyParam = new COMVariant(COMVariantInOut::OutCOMVariantType::VT_INT);
    for (
i=;i<1000i++)
    {
        
param.Value(55);     //передаем в процедуру число 55
        
cmd.Execute (emptyParamparams);
        
result param.Value();
        
info(int2str(result.byte()));
    }
    
cn.close();