Exemplo n.º 1
0
        private static void Update(MSMO.LinkedServer linkedServer, SQLInformation.Data.ApplicationDataSet.LinkedServersRow dataRow)
        {
            try
            {
                linkedServer.UpdateDataSet(dataRow);

                UpdateDatabaseWithSnapShot(dataRow, "");
            }
            catch (Exception ex)
            {
                VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 6);

                UpdateDatabaseWithSnapShot(dataRow, ex.ToString().Substring(0, 256));
            }
        }
Exemplo n.º 2
0
        private static SQLInformation.Data.ApplicationDataSet.LinkedServersRow Add(Guid instanceID, MSMO.LinkedServer linkedServer, string instanceName)
        {
            SQLInformation.Data.ApplicationDataSet.LinkedServersRow dataRow = null;

            try
            {
                dataRow = Common.ApplicationDataSet.LinkedServers.NewLinkedServersRow();

                dataRow.ID = Guid.NewGuid();
                dataRow.Name_LinkedServer = linkedServer.Name;
                dataRow.Instance_ID       = instanceID;
                dataRow.Name_Instance     = instanceName;
                dataRow.Catalog           = linkedServer.Catalog;
                dataRow.DataAccess        = linkedServer.DataAccess;
                dataRow.DataSource        = linkedServer.DataSource;
                dataRow.DateLastModified  = linkedServer.DateLastModified;
                dataRow.ID_LinkedServer   = linkedServer.ID;
                dataRow.IsPromotionofDistributedTransactionsForRPCEnabled = linkedServer.IsPromotionofDistributedTransactionsForRPCEnabled;
                dataRow.Location       = linkedServer.Location;
                dataRow.ProductName    = linkedServer.ProductName;
                dataRow.ProviderName   = linkedServer.ProviderName;
                dataRow.ProviderString = linkedServer.ProviderString;
                dataRow.Publisher      = linkedServer.Publisher;

                dataRow.SnapShotDate  = DateTime.Now;
                dataRow.SnapShotError = "";

                Common.ApplicationDataSet.LinkedServers.AddLinkedServersRow(dataRow);
                Common.ApplicationDataSet.LinkedServersTA.Update(Common.ApplicationDataSet.LinkedServers);
            }
            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);
        }
Exemplo n.º 3
0
        private static SQLInformation.Data.ApplicationDataSet.LinkedServersRow GetInfoFromSMO(Guid instanceID, MSMO.LinkedServer linkedServer, string instanceName)
        {
#if TRACE
            long startTicks = VNC.AppLog.Trace2("Enter", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 2);
#endif
            SQLInformation.Data.ApplicationDataSet.LinkedServersRow dataRow = null;

            try
            {
                var dbs = from tb in Common.ApplicationDataSet.LinkedServers
                          where tb.Instance_ID == instanceID
                          select tb;

                var dbs2 = from db2 in dbs
                           where db2.Name_LinkedServer == linkedServer.Name
                           select db2;

                if (dbs2.Count() > 0)
                {
                    dataRow = dbs2.First();
                    Update(linkedServer, dataRow);
                }
                else
                {
                    dataRow = Add(instanceID, linkedServer, instanceName);
                }
            }
            catch (Exception ex)
            {
                VNC.AppLog.Error(ex, LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 3);
            }
#if TRACE
            VNC.AppLog.Trace2("Exit", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 4, startTicks);
#endif
            return(dataRow);
        }