Exemplo n.º 1
0
 public SSASTrace()
 {
     _connectionInfo = new OlapConnectionInfo()
     {
         //ServerName = traceServer,
         UseIntegratedSecurity = true,
         ApplicationName       = "Trace"
     };
     Init();
 }
Exemplo n.º 2
0
        bool ConnectOlap(out TraceServer traceServer, string SSASserver)
        {
            OlapConnectionInfo ci = new OlapConnectionInfo();

            traceServer = new TraceServer();
            StringBuilder messageText = new StringBuilder();

            try
            {
                ci.UseIntegratedSecurity = true;
                ci.ServerName            = SSASserver;
                string tracetemplate = localPath + "\\" + Properties.Settings.Default.TraceDefinition;
                traceServer.InitializeAsReader(ci, tracetemplate);

                lock (traceServers)
                {
                    traceServers.Add(traceServer);
                }

                messageText.Append(
                    DateTime.Now.ToString()
                    + ":  Created trace for Analysis Server : '"
                    + SSASserver
                    + "'");

                WriteLog(messageText.ToString());
                EventLog.WriteEntry(this.ServiceName, messageText.ToString(), EventLogEntryType.Information);

                return(true);
            }

            catch (Exception e)
            {
                messageText.Append(DateTime.Now.ToString() + ":  Cannot start Analysis Server trace: ").AppendLine();
                messageText.Append(DateTime.Now.ToString() + ":  Analysis Server name: '" + SSASserver + "'").AppendLine();
                messageText.Append(DateTime.Now.ToString() + ":  Trace definition : '" + localPath + "\\" + Properties.Settings.Default.TraceDefinition + "'").AppendLine();
                messageText.Append(DateTime.Now.ToString() + ":  Error: " + e.Message).AppendLine();
                messageText.Append(DateTime.Now.ToString() + ":  Stack Trace: " + e.StackTrace).AppendLine();

                while (e.InnerException != null)
                {
                    messageText.Append("INNER EXCEPTION: ");
                    messageText.Append(e.InnerException.Message).AppendLine();
                    messageText.Append(e.InnerException.StackTrace).AppendLine();

                    e = e.InnerException;
                }

                WriteLog(messageText.ToString());
                EventLog.WriteEntry(this.ServiceName, messageText.ToString(), EventLogEntryType.Error);

                return(false);
            }
        }