public static string ejecuta()
    {
        //abrir conexion
        IB.sqldblib.SqlServerSP cDblib = null;

        string json      = "";
        double tms1      = -1;
        double tms2      = -1;
        string errorText = "";


        try
        {
            TimeSpan ts1, ts2;

            ts1    = new TimeSpan(DateTime.Now.Ticks);
            cDblib = new IB.sqldblib.SqlServerSP(GetConStr());
            ts2    = new TimeSpan(DateTime.Now.Ticks);
            tms1   = Math.Round((ts2 - ts1).TotalMilliseconds, 0);

            //ejecutar sp
            //*** AVISO: Cambiar esto en funcion de la aplicación que se este logeando ***
            ts1 = new TimeSpan(DateTime.Now.Ticks);
            //SqlParameter[] dbparams = new SqlParameter[1] {
            //        Param(cDblib, enumDBFields.t010_idoficina, 3)
            //    };
            //DataTable dt = cDblib.DataTable("CR2I_GETLISTARECURSOS_SALAREUNION_POR_OFICINA", dbparams);
            DataTable dt = cDblib.DataTable("ZZJAVIPROC_SUPER_LOG", null);

            ts2  = new TimeSpan(DateTime.Now.Ticks);
            tms2 = Math.Round((ts2 - ts1).TotalMilliseconds, 0);

            //cerrar conexion
            cDblib.Dispose();

            json = "{" + "\"openConnection\":" + tms1.ToString() + ", \"executeSP\":" + tms2.ToString() + ", \"errorText\":\"" + errorText + "\"}";

            return(json);
        }
        catch (Exception ex)
        {
            errorText = ex.Message;
            if (ex.InnerException != null)
            {
                errorText += " " + ex.InnerException.Message;
            }
            json = "{" + "\"openConnection\":" + tms1.ToString() + ", \"executeSP\":" + tms2.ToString() + ", \"errorText\":\"" + errorText + "\"}";
            return(json);
        }
        finally
        {
            if (cDblib != null)
            {
                cDblib.Dispose();
            }
        }
    }
    public static void graba(string app, string proxy, string hostName, List <logrow> lst)
    {
        //abrir conexion
        IB.sqldblib.SqlServerSP cDblib = null;

        try
        {
            cDblib = new IB.sqldblib.SqlServerSP(GetConStr());

            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("netTime", typeof(int)));
            dt.Columns.Add(new DataColumn("openConnection", typeof(int)));
            dt.Columns.Add(new DataColumn("executeSP", typeof(int)));
            dt.Columns.Add(new DataColumn("totalTime", typeof(int)));
            dt.Columns.Add(new DataColumn("errorText", typeof(string)));


            foreach (logrow o in lst)
            {
                DataRow row = dt.NewRow();
                row["netTime"]        = o.netTime;
                row["openConnection"] = o.openConnection;
                row["executeSP"]      = o.executeSP;
                row["totalTime"]      = o.totalTime;
                row["errorText"]      = o.errorText;
                dt.Rows.Add(row);
            }

            //ejecutar sp
            SqlParameter[] dbparams = new SqlParameter[4] {
                Param(cDblib, enumDBFields.app, app),
                Param(cDblib, enumDBFields.proxy, proxy),
                Param(cDblib, enumDBFields.hostName, hostName),
                Param(cDblib, enumDBFields.tabRows, dt)
            };
            cDblib.Execute("ZZJAVIPROC_GRABALOG_APP", dbparams);

            //cerrar conexion
            cDblib.Dispose();
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            if (cDblib != null)
            {
                cDblib.Dispose();
            }
        }
    }