public SSASTrace() { _connectionInfo = new OlapConnectionInfo() { //ServerName = traceServer, UseIntegratedSecurity = true, ApplicationName = "Trace" }; Init(); }
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); } }