private static void Update(MSMOA.TargetServer targetServer, SQLInformation.Data.ApplicationDataSet.JSTargetServersRow dataRow) { try { targetServer.UpdateDataSet(dataRow); UpdateDatabaseWithSnapShot(dataRow, ""); } catch (Exception ex) { VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 6); UpdateDatabaseWithSnapShot(dataRow, ex.ToString().Substring(0, 256)); } }
private static SQLInformation.Data.ApplicationDataSet.JSTargetServersRow GetInfoFromSMO(MSMOA.TargetServer targetServer, SQLInformation.Data.ApplicationDataSet.JobServersRow jobServerRow) { #if TRACE long startTicks = VNC.AppLog.Trace4(string.Format("Enter ({0})", targetServer.Name), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 2); #endif SQLInformation.Data.ApplicationDataSet.JSTargetServersRow dataRow = null; try { var dbs = from db in Common.ApplicationDataSet.JSTargetServers where db.JobServer_ID == jobServerRow.ID select db; var dbs2 = from db2 in dbs where db2.Name_JSTargetServer == targetServer.Name select db2; if (dbs2.Count() > 0) { dataRow = dbs2.First(); Update(targetServer, dataRow); } else { dataRow = Add(targetServer, jobServerRow); } } catch (Exception ex) { VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 3); } #if TRACE VNC.AppLog.Trace4("Exit", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 4, startTicks); #endif return(dataRow); }
private static SQLInformation.Data.ApplicationDataSet.JSTargetServersRow Add(MSMOA.TargetServer targetServer, SQLInformation.Data.ApplicationDataSet.JobServersRow jobServerRow) { SQLInformation.Data.ApplicationDataSet.JSTargetServersRow dataRow = null; try { dataRow = Common.ApplicationDataSet.JSTargetServers.NewJSTargetServersRow(); dataRow.ID = Guid.NewGuid(); dataRow.JobServer_ID = jobServerRow.ID; dataRow.Name_JSTargetServer = targetServer.Name; dataRow.EnlistDate = targetServer.EnlistDate; dataRow.LastPollDate = targetServer.LastPollDate; dataRow.LocalTime = targetServer.LocalTime; dataRow.Location = targetServer.Location; dataRow.PendingInstructions = targetServer.PendingInstructions; dataRow.PollingInterval = targetServer.PollingInterval; dataRow.State = targetServer.State.ToString(); dataRow.Status = targetServer.Status.ToString(); dataRow.SnapShotDate = DateTime.Now; dataRow.SnapShotError = ""; Common.ApplicationDataSet.JSTargetServers.AddJSTargetServersRow(dataRow); Common.ApplicationDataSet.JSTargetServersTA.Update(Common.ApplicationDataSet.JSTargetServers); } catch (Exception ex) { VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 5); // TODO(crhodes): // Wrap anything above that throws an exception that we want to ignore, // e.g. property not available because of SQL Edition. UpdateDatabaseWithSnapShot(dataRow, ex.ToString().Substring(0, 256)); } return(dataRow); }