Показать сообщение отдельно
Старый 24.12.2008, 12:34   #8  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
X++:
server static container getSerialNoBySPID(str _spid)
{
    Statement   stmt;
    ResultSet   res;
    boolean     sysTraceActive = xSession::getSysTraceActive();
    str         query;
    Connection  con = new Connection();
    SqlSystem   sqlSystem = new SqlSystem();
    str         retSerialNo, retSID;
    ;
    try
    {
    if(!_spid)
        return ['', ''];

    if (sqlSystem.databaseId()==databaseId::ORACLE)
    {
        stmt = con.createStatement();
        _spid = strreplace(strreplace(_spid,' ',''),',','\',\'');
//        res = stmt.executeQuery('SELECT SERIAL#,SID FROM V$SESSION WHERE AUDSID IN (\''+_spid+'\')');
        res = stmt.executeQuery(strfmt("SELECT SERIAL#,SID FROM V$SESSION WHERE AUDSID IN ('%1')", _spid));
        while (res.next())
        {
            if (! retSerialNo)
            {
                retSerialNo = res.getString(1);
            }
            else
            {
                retSerialNo = retSerialNo + ',' + res.getString(1);
            }

            if (! retSID)
            {
                retSID = res.getString(2);
            }
            else
            {
                retSID = retSID + ',' + res.getString(2);
            }
        }
    }
    return [retSerialNo, retSID];
    }
    catch (Exception::Error)
    {
    return [retSerialNo, retSID];
    }
}
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy