public MyTraceEventArgs(TraceEventArgs args)
 {
     EventClass    = args.EventClass;
     EventSubclass = args.EventSubclass;
     DatabaseName  = args.DatabaseName;
     ObjectPath    = args.ObjectPath;
     TextData      = args.TextData;
 }
            public MyTraceEventArgs(SqlDataReader reader)
            {
                EventClass = (TraceEventClass)Enum.ToObject(typeof(TraceEventClass), Convert.ToInt64(reader["EventClass"]));

                //can't parse EventSubclass like EventClass
                //following code based on http://msdn2.microsoft.com/en-us/library/ms174472.aspx
                if (!Convert.IsDBNull(reader["EventSubclass"]))
                {
                    if (EventClass == TraceEventClass.QueryEnd)
                    {
                        if (Convert.ToInt64(reader["EventSubclass"]) == 0)
                        {
                            EventSubclass = TraceEventSubclass.MdxQuery;
                        }
                        else if (Convert.ToInt64(reader["EventSubclass"]) == 1)
                        {
                            EventSubclass = TraceEventSubclass.DmxQuery;
                        }
                        else if (Convert.ToInt64(reader["EventSubclass"]) == 2)
                        {
                            EventSubclass = TraceEventSubclass.SqlQuery;
                        }
                        else if (Convert.ToInt64(reader["EventSubclass"]) == 3)
                        {
                            EventSubclass = TraceEventSubclass.DAXQuery;
                        }
                        else
                        {
                            EventSubclass = TraceEventSubclass.NotAvailable;
                        }
                    }
                }

                if (!Convert.IsDBNull(reader["ObjectPath"]))
                {
                    string[] pathParts = reader["ObjectPath"].ToString().Split('.');
                    DatabaseName = pathParts[1];
                    //TODO: path contains ID... won't match name?
                }
                else if (ReaderContainsColumn(reader, "DatabaseName") && !Convert.IsDBNull(reader["DatabaseName"]))
                {
                    DatabaseName = reader["DatabaseName"].ToString();
                }
                else
                {
                    DatabaseName = null;
                }
                if (!Convert.IsDBNull(reader["ObjectPath"]))
                {
                    ObjectPath = reader["ObjectPath"].ToString();
                }
                if (!Convert.IsDBNull(reader["TextData"]))
                {
                    TextData = reader["TextData"].ToString();
                }
            }
Beispiel #3
0
 internal static string ToName(this TraceEventSubclass subclass)
 {
     return(Enum.GetName(typeof(TraceEventSubclass), subclass));
 }
Beispiel #4
0
            public MyTraceEventArgs(SqlDataReader reader)
            {
                EventClass = (TraceEventClass)Enum.ToObject(typeof(TraceEventClass), Convert.ToInt64(reader["EventClass"]));
                
                //can't parse EventSubclass like EventClass
                //following code based on http://msdn2.microsoft.com/en-us/library/ms174472.aspx
                if (!Convert.IsDBNull(reader["EventSubclass"]))
                {
                    if (EventClass == TraceEventClass.QueryEnd)
                    {
                        if (Convert.ToInt64(reader["EventSubclass"]) == 0)
                            EventSubclass = TraceEventSubclass.MdxQuery;
                        else if (Convert.ToInt64(reader["EventSubclass"]) == 1)
                            EventSubclass = TraceEventSubclass.DmxQuery;
                        else if (Convert.ToInt64(reader["EventSubclass"]) == 2)
                            EventSubclass = TraceEventSubclass.SqlQuery;
                        else
                            EventSubclass = TraceEventSubclass.NotAvailable;
                    }
                }

                if (!Convert.IsDBNull(reader["ObjectPath"]))
                {
                    string[] pathParts = reader["ObjectPath"].ToString().Split('.');
                    DatabaseName = pathParts[1];
                }
                else if (ReaderContainsColumn(reader, "DatabaseName") && !Convert.IsDBNull(reader["DatabaseName"]))
                {
                    DatabaseName = reader["DatabaseName"].ToString();
                }
                else
                {
                    DatabaseName = null;
                }
                if (!Convert.IsDBNull(reader["ObjectPath"]))
                    ObjectPath = reader["ObjectPath"].ToString();
                if (!Convert.IsDBNull(reader["TextData"]))
                    TextData = reader["TextData"].ToString();
            }
Beispiel #5
0
 public MyTraceEventArgs(TraceEventArgs args)
 {
     EventClass = args.EventClass;
     EventSubclass = args.EventSubclass;
     DatabaseName = args.DatabaseName;
     ObjectPath = args.ObjectPath;
     TextData = args.TextData;
 }