/[AnywhereTS-MSSQL]/trunk/TSAdminTool/Database.cs
ViewVC logotype

Diff of /trunk/TSAdminTool/Database.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 93 by william, Sat Jul 14 02:35:50 2012 UTC revision 99 by william, Sat Jul 14 04:50:27 2012 UTC
# Line 25  namespace AnywhereTS Line 25  namespace AnywhereTS
25              DatabaseCreated,              DatabaseCreated,
26          };          };
27    
28          private SqlConnection sqlCon = new SqlConnection();          //private SqlConnection sqlCon = new SqlConnection();
29          private SqlCommand sqlCmd = new SqlCommand();          //private SqlCommand sqlCmd = new SqlCommand();
30    
31          const string SQL_BROWSER_SERVICE_NAME = "SQLBrowser";          const string SQL_BROWSER_SERVICE_NAME = "SQLBrowser";
32          public static string InstanceName { get { return Properties.Settings.Default.DBInstance; } }          public static string InstanceName { get { return AnywhereTS.DBSupport.Properties.Settings.Default.DBInstance; } }
33          public bool SetupDatabase()          public bool SetupDatabase()
34          {          {
35              Exception ErrorInfo = null;              Exception ErrorInfo = null;
36              bool bContinue = false;              bool bContinue = false;
37              // Create a connection to SQL Server              // Create a connection to SQL Server
38              Logging.ATSAdminLog.Debug("SetupDatabase() called ");              Logging.ATSAdminLog.Debug("SetupDatabase() called ");
39              ProSupport.strDatabaseServer = Properties.Settings.Default.DBServer;              ProSupport.strDatabaseServer = AnywhereTS.DBSupport.Properties.Settings.Default.DBServer;
40              ProSupport.strDatabaseInstance = Properties.Settings.Default.DBInstance;              ProSupport.strDatabaseInstance = AnywhereTS.DBSupport.Properties.Settings.Default.DBInstance;
41    
42              ATSGlobals.SetATSRegValue(ProSupport.strRegDatabaseServer, ProSupport.strDatabaseServer);              ATSGlobals.SetATSRegValue(ProSupport.strRegDatabaseServer, ProSupport.strDatabaseServer);
43              ATSGlobals.SetATSRegValue(ProSupport.strRegDatabaseInstance, ProSupport.strRegDatabaseInstance);              ATSGlobals.SetATSRegValue(ProSupport.strRegDatabaseInstance, ProSupport.strDatabaseInstance);
44    
45                          #region comment-code
46              #region Database Creation support              //            #region Database Creation support
47              using (MsSqlConnector conn = new MsSqlConnector(Properties.Settings.Default.DBServer, Properties.Settings.Default.DBInstance, ATSGlobals.strDatabaseName))  //            using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))
48              {  //            {
49                  try  //                try
50                  {  //                {
51                      conn.CreateConnection(out ErrorInfo);  //                    conn.CreateConnection(out ErrorInfo);
52                      conn.OpenConnection(out ErrorInfo);  //                    conn.OpenConnection(out ErrorInfo);
53                  }  //                }
54                  catch (Exception ex)  //                catch (Exception ex)
55                  {  //                {
56                      try  //                    try
57                      {  //                    {
58                          conn.Dispose();  //                        conn.Dispose();
59                          using (MsSqlConnector conn1 = new MsSqlConnector(Properties.Settings.Default.DBServer, Properties.Settings.Default.DBInstance, "master"))  //                        using (MsSqlConnector conn1 = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, "master"))
60                          {  //                        {
61                              try  //                            try
62                              {  //                            {
63                                  conn1.CreateConnection(out ErrorInfo);  //                                conn1.CreateConnection(out ErrorInfo);
64                                  conn1.OpenConnection(out ErrorInfo);  //                                conn1.OpenConnection(out ErrorInfo);
65    
66                                  // create datagbase  //                                // create datagbase
67                                  Logging.ATSAdminLog.Info(string.Format("Creating Database {0}", ATSGlobals.strDatabaseName));  //                                Logging.ATSAdminLog.Info(string.Format("Creating Database {0}", ATSGlobals.strDatabaseName));
68                                  RunScript(SQLServerResources.CreateDatabase, conn1, out ErrorInfo);  //                                RunScript(SQLServerResources.CreateDatabase, conn1, out ErrorInfo);
69                                  Logging.ATSAdminLog.Info(string.Format("Created Database {0}", ATSGlobals.strDatabaseName));  //                                Logging.ATSAdminLog.Info(string.Format("Created Database {0}", ATSGlobals.strDatabaseName));
70    
71                                  // create tables  //                                // create tables
72                                  Logging.ATSAdminLog.Info(string.Format("Creating Tables in {0} Database", ATSGlobals.strDatabaseName));  //                                Logging.ATSAdminLog.Info(string.Format("Creating Tables in {0} Database", ATSGlobals.strDatabaseName));
73                                  RunScript(SQLServerResources.CreateTables, conn1, out ErrorInfo);  //                                RunScript(SQLServerResources.CreateTables, conn1, out ErrorInfo);
74                                  Logging.ATSAdminLog.Info(string.Format("Created Tables in {0} Database", ATSGlobals.strDatabaseName));  //                                Logging.ATSAdminLog.Info(string.Format("Created Tables in {0} Database", ATSGlobals.strDatabaseName));
75                              }  //                            }
76                              catch (Exception ex1)  //                            catch (Exception ex1)
77                              {  //                            {
78                                  if (ErrorInfo == null) { ErrorInfo = new Exception(ex1.Message, ex); }  //                                if (ErrorInfo == null) { ErrorInfo = new Exception(ex1.Message, ex); }
79                              }  //                            }
80                          }  //                        }
81                      }  //                    }
82                      catch (Exception ex1)  //                    catch (Exception ex1)
83                      {  //                    {
84                          if (ErrorInfo == null) { ErrorInfo = new Exception(ex1.Message, ex); }  //                        if (ErrorInfo == null) { ErrorInfo = new Exception(ex1.Message, ex); }
85                      }  //                    }
86                  }  //                }
87              }  //            }
88              if (ErrorInfo != null) { return false; }  //            if (ErrorInfo != null) { throw ErrorInfo; }
89              #endregion  //            #endregion
90              #region Database version check  //            #region Database version check
91              // Now that you are connected to Express, check the database versions  //            // Now that you are connected to Express, check the database versions
92              Version databaseVersion; // The current version of the database  //            Version databaseVersion; // The current version of the database
93              int chkVer = CheckVersion(out databaseVersion);  //            int chkVer = CheckVersion(out databaseVersion);
94              VersionCheck verChk = (VersionCheck)chkVer;  //            VersionCheck verChk = (VersionCheck)chkVer;
95              //MessageBox.Show(string.Format("Version Check: {0} Version: {1}", verChk.ToString(), databaseVersion.ToString()));  //            //MessageBox.Show(string.Format("Version Check: {0} Version: {1}", verChk.ToString(), databaseVersion.ToString()));
96              Logging.ATSAdminLog.InfoFormat("Database Version Check: {0} .... Database Version: {1}", verChk.ToString(), databaseVersion.ToString());  //            Logging.ATSAdminLog.InfoFormat("Database Version Check: {0} .... Database Version: {1}", verChk.ToString(), databaseVersion.ToString());
97              switch (chkVer)  //            switch (chkVer)
98              {  //            {
99                  case (int)VersionCheck.Equal:  //                case (int)VersionCheck.Equal:
100                      {  //                    {
101                          bContinue = true;  //                        bContinue = true;
102                          break;  //                        break;
103                      }  //                    }
104                  case (int)VersionCheck.Failed:  //                case (int)VersionCheck.Failed:
105                      {  //                    {
106                          bContinue = false;  //                        bContinue = false;
107                          break;  //                        break;
108                      }  //                    }
109                  case (int)VersionCheck.DatabaseIsOlder:  //                case (int)VersionCheck.DatabaseIsOlder:
110                      {  //                    {
111                          using (MsSqlConnector conn = new MsSqlConnector(Properties.Settings.Default.DBServer, Properties.Settings.Default.DBInstance, ATSGlobals.strDatabaseName))  //                        using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))
112                          {  //                        {
113                              try  //                            try
114                              {  //                            {
115                                  conn.CreateConnection(out ErrorInfo);  //                                conn.CreateConnection(out ErrorInfo);
116                                  conn.OpenConnection(out ErrorInfo);  //                                conn.OpenConnection(out ErrorInfo);
117                                  #region database upggrade scripts  //                                #region database upggrade scripts
118                                  switch (databaseVersion.ToString())  //                                switch (databaseVersion.ToString())
119                                  {  //                                {
120                                      // Run the apropriate upgdrade script(s)  //                                    // Run the apropriate upgdrade script(s)
121                                      case "1.0.0.0":  //                                    case "1.0.0.0":
122                                          {   // Current database is version 1.0.0.0, update to 1.0.0.1  //                                        {   // Current database is version 1.0.0.0, update to 1.0.0.1
123                                              Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.0", "1.0.0.1");  //                                            Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.0", "1.0.0.1");
124                                              bContinue = RunScript(SQLServerResources.UpdateDatabase1, conn, out ErrorInfo);  //                                            bContinue = RunScript(SQLServerResources.UpdateDatabase1, conn, out ErrorInfo);
125                                              Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.0", "1.0.0.1");  //                                            Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.0", "1.0.0.1");
126                                              goto case "1.0.0.1"; // Continue and upgrade one more step  //                                            goto case "1.0.0.1"; // Continue and upgrade one more step
127                                          }  //                                        }
128                                      case "1.0.0.1":  //                                    case "1.0.0.1":
129                                          {   // Current database is version 1.0.0.1, update to 1.0.0.2  //                                        {   // Current database is version 1.0.0.1, update to 1.0.0.2
130                                              Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.1", "1.0.0.2");  //                                            Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.1", "1.0.0.2");
131                                              bContinue = RunScript(SQLServerResources.UpdateDatabase2, conn, out ErrorInfo);  //                                            bContinue = RunScript(SQLServerResources.UpdateDatabase2, conn, out ErrorInfo);
132                                              Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.2");  //                                            Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.2");
133                                              goto case "1.0.0.2"; // Continue and upgrade one more step  //                                            goto case "1.0.0.2"; // Continue and upgrade one more step
134                                          }  //                                        }
135                                      case "1.0.0.2":  //                                    case "1.0.0.2":
136                                          {   // Current database is version 1.0.0.2, update to 1.0.0.3  //                                        {   // Current database is version 1.0.0.2, update to 1.0.0.3
137                                              Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");  //                                            Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");
138                                              bContinue = RunScript(SQLServerResources.UpdateDatabase3, conn, out ErrorInfo);  //                                            bContinue = RunScript(SQLServerResources.UpdateDatabase3, conn, out ErrorInfo);
139                                              Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");  //                                            Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");
140                                              goto case "1.0.0.3"; // Continue and upgrade one more step  //                                            goto case "1.0.0.3"; // Continue and upgrade one more step
141                                          }  //                                        }
142                                      case "1.0.0.3":  //                                    case "1.0.0.3":
143                                          {   // Current database is version 1.0.0.3, update to 1.0.0.4  //                                        {   // Current database is version 1.0.0.3, update to 1.0.0.4
144                                              Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.3", "1.0.0.4");  //                                            Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.3", "1.0.0.4");
145                                              bContinue = RunScript(SQLServerResources.UpdateDatabase4, conn, out ErrorInfo);  //                                            bContinue = RunScript(SQLServerResources.UpdateDatabase4, conn, out ErrorInfo);
146                                              Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.4", "1.0.0.4");  //                                            Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.4", "1.0.0.4");
147                                              break;  //                                            break;
148                                          }  //                                        }
149                                      default:  //                                    default:
150                                          {  //                                        {
151                                              //MessageBox.Show("Error: Not able to upgrade database (51188)");  //                                            //MessageBox.Show("Error: Not able to upgrade database (51188)");
152                                              if (databaseVersion == new Version(0, 0, 0, 0))  //                                            if (databaseVersion == new Version(0, 0, 0, 0))
153                                              {  //                                            {
154                                                  string format = string.Format("Database version is {0}, this should have been auto upgraded to {1}", databaseVersion.ToString(), ATSGlobals.strDatabaseVersion);  //                                                string format = string.Format("Database version is {0}, this should have been auto upgraded to {1}", databaseVersion.ToString(), ATSGlobals.strDatabaseVersion);
155                                                  Logging.ATSAdminLog.Fatal(format);  //                                                Logging.ATSAdminLog.Fatal(format);
156                                                  MessageBox.Show(format);  //                                                MessageBox.Show(format);
157                                              }  //                                            }
158                                              else  //                                            else
159                                              {  //                                            {
160                                                  string format = string.Format("Failed to upgrade Database from version: {0} to version: {1}", databaseVersion.ToString(), ATSGlobals.strDatabaseVersion);  //                                                string format = string.Format("Failed to upgrade Database from version: {0} to version: {1}", databaseVersion.ToString(), ATSGlobals.strDatabaseVersion);
161                                                  Logging.ATSAdminLog.Fatal(format);  //                                                Logging.ATSAdminLog.Fatal(format);
162                                                  MessageBox.Show(format);  //                                                MessageBox.Show(format);
163                                              }  //                                            }
164                                              break;  //                                            break;
165                                          }  //                                        }
166                                  }  //                                }
167  #endregion  //#endregion
168                              }  //                            }
169                              catch (Exception ex)  //                            catch (Exception ex)
170                              {  //                            {
171                                  if (ErrorInfo == null) { ErrorInfo = ex; }  //                                if (ErrorInfo == null) { ErrorInfo = ex; }
172                              }                              //                            }                            
173                          }  //                        }
174                          break;  //                        break;
175                      }  //                    }
176                  case (int)VersionCheck.DatabaseIsMoreNew:  //                case (int)VersionCheck.DatabaseIsMoreNew:
177                      {  //                    {
178                          bContinue = false;  //                        bContinue = false;
179                          break;  //                        break;
180                      }  //                    }
181                  default:  //                default:
182                      {  //                    {
183                          bContinue = false;  //                        bContinue = false;
184                          break;  //                        break;
185                      }  //                    }
186    
187              }  //            }
188                //            #endregion
189              #endregion              #endregion
             sqlCon.Close();  
             sqlCon.Dispose();  
             sqlCmd.Connection.Close();  
             sqlCmd.Connection.Dispose();  
190              return bContinue;              return bContinue;
191          }          }
192    
# Line 221  namespace AnywhereTS Line 218  namespace AnywhereTS
218                  int db_count = -1;                  int db_count = -1;
219                  //Verify that the AnywhereTS database exists                  //Verify that the AnywhereTS database exists
220                  #region Get Database Count                  #region Get Database Count
221                  using (MsSqlConnector conn = new MsSqlConnector(Properties.Settings.Default.DBServer, Properties.Settings.Default.DBInstance, ATSGlobals.strDatabaseName))                  using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))
222                  {                  {
223                      try                      try
224                      {                      {
# Line 263  namespace AnywhereTS Line 260  namespace AnywhereTS
260                  else if (db_count == 0)                  else if (db_count == 0)
261                  {                  {
262                      #region Database Creation support                      #region Database Creation support
263                      using (MsSqlConnector conn = new MsSqlConnector(Properties.Settings.Default.DBServer, Properties.Settings.Default.DBInstance, ATSGlobals.strDatabaseName))                      using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))
264                      {                      {
265                          try                          try
266                          {                          {
# Line 275  namespace AnywhereTS Line 272  namespace AnywhereTS
272                              try                              try
273                              {                              {
274                                  conn.Dispose();                                  conn.Dispose();
275                                  using (MsSqlConnector conn1 = new MsSqlConnector(Properties.Settings.Default.DBServer, Properties.Settings.Default.DBInstance, "master"))                                  using (MsSqlConnector conn1 = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, "master"))
276                                  {                                  {
277                                      try                                      try
278                                      {                                      {
# Line 310  namespace AnywhereTS Line 307  namespace AnywhereTS
307    
308                                    
309                  #region Get Database Version                  #region Get Database Version
310                  using (MsSqlConnector conn = new MsSqlConnector(Properties.Settings.Default.DBServer, Properties.Settings.Default.DBInstance, ATSGlobals.strDatabaseName))                  using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))
311                  {                  {
312                      try                      try
313                      {                      {
# Line 401  namespace AnywhereTS Line 398  namespace AnywhereTS
398                  #endregion                  #endregion
399                                    
400                        
401                  sqlCon.Close();                  //sqlCon.Close();
402    
403                  if (vDb == v)                  if (vDb == v)
404                      return (int)VersionCheck.Equal;                      return (int)VersionCheck.Equal;

Legend:
Removed from v.93  
changed lines
  Added in v.99

  ViewVC Help
Powered by ViewVC 1.1.22