/[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 39 by william, Thu Jul 12 12:21:43 2012 UTC revision 44 by william, Thu Jul 12 12:59:45 2012 UTC
# Line 27  namespace AnywhereTS Line 27  namespace AnywhereTS
27          private SqlCommand sqlCmd = new SqlCommand();          private SqlCommand sqlCmd = new SqlCommand();
28    
29          const string SQL_BROWSER_SERVICE_NAME = "SQLBrowser";          const string SQL_BROWSER_SERVICE_NAME = "SQLBrowser";
         const Version CURRENT_DB_VERSION = new Version(1, 0, 0, 3);  
30          public static string InstanceName          public static string InstanceName
31          {          {
32              get              get
# Line 58  namespace AnywhereTS Line 57  namespace AnywhereTS
57                  {                  {
58                      Logging.ATSAdminLog.Debug("Opening connection to AnywhereTS Database");                      Logging.ATSAdminLog.Debug("Opening connection to AnywhereTS Database");
59                  }                  }
60                  sqlCon.Open();                  if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
61              }              }
62              catch              catch
63              {              {
# Line 71  namespace AnywhereTS Line 70  namespace AnywhereTS
70                      {                      {
71                          Logging.ATSAdminLog.Debug("Creating Database AnywhereTS");                          Logging.ATSAdminLog.Debug("Creating Database AnywhereTS");
72                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
73                          sqlCon.Open();                          if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
74                          RunScript(Resource1.CreateDatabase.ToString());                          RunScript(Resource1.CreateDatabase.ToString());
75                          sqlCon.Close();                          sqlCon.Close();
76                      }                      }
# Line 81  namespace AnywhereTS Line 80  namespace AnywhereTS
80                      {                      {
81                          Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database");                          Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database");
82                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
83                          sqlCon.Open();                          if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
84                          RunScript(Resource1.CreateTables.ToString());                          RunScript(Resource1.CreateTables.ToString());
85                          sqlCon.Close();                          //sqlCon.Close();
86                      }                      }
87                      Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database");                      Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database");
88                  }                  }
# Line 143  namespace AnywhereTS Line 142  namespace AnywhereTS
142                                      bContinue = RunScript(Resource1.UpdateDatabase3.ToString());                                      bContinue = RunScript(Resource1.UpdateDatabase3.ToString());
143                                      Logging.ATSAdminLog.DebugFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");                                      Logging.ATSAdminLog.DebugFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");
144                                      break;                                      break;
145                                  }                                  }                            
   
                               
146                              default:                              default:
147                                  {                                  {
148                                      MessageBox.Show("Error: Not able to upgrade database (51188)");                                      //MessageBox.Show("Error: Not able to upgrade database (51188)");
149                                      Logging.ATSAdminLog.DebugFormat("Failed to upgrade Database from version: {0} to version: {1}", databaseVersion.ToString(), CURRENT_DB_VERSION.ToString());                                      if (databaseVersion == new Version(0, 0, 0, 0))
150                                        {
151                                            string format = string.Format("Database version is {0}, this should have been auto upgraded to {1}", databaseVersion.ToString(), ATSGlobals.strDatabaseVersion);
152                                            Logging.ATSAdminLog.Fatal(format);
153                                            MessageBox.Show(format);
154                                        }
155                                        else
156                                        {
157                                            string format = string.Format("Failed to upgrade Database from version: {0} to version: {1}", databaseVersion.ToString(), ATSGlobals.strDatabaseVersion);
158                                            Logging.ATSAdminLog.Fatal(format);
159                                            MessageBox.Show(format);
160                                        }                                    
161                                      break;                                      break;
162                                  }                                  }
163                          }                          }
# Line 217  namespace AnywhereTS Line 225  namespace AnywhereTS
225                  string strResult;                  string strResult;
226    
227                  //Verify that the AnywhereTS database exists                  //Verify that the AnywhereTS database exists
                 sqlCmd = new SqlCommand("select count(*) from master..sysdatabases where name='AnywhereTS'", sqlCon);  
                 strResult = sqlCmd.ExecuteScalar().ToString();  
228    
229                  if (strResult == "0")                  using (log4net.NDC.Push(string.Format("SQL STATMENT={0}", "select count(*) from master..sysdatabases where name='AnywhereTS'")))
230                  {                  {
231                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                      Logging.ATSAdminLog.Debug("Getting Coount of AnywhereTS databases");
232                      sqlCon.Open();                      if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
233                      RunScript(Resource1.CreateDatabase.ToString());                      sqlCmd = new SqlCommand("select count(*) from master..sysdatabases where name='AnywhereTS'", sqlCon);
234                      sqlCon.Close();                      strResult = sqlCmd.ExecuteScalar().ToString();
                     sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));  
                     sqlCon.Open();  
                     RunScript(Resource1.CreateTables.ToString());  
                     sqlCon.Close();  
235                  }                  }
236                  try                 Logging.ATSAdminLog.DebugFormat("AnywhereTS databases Count={0}", strResult);
237                  {  
238                      sqlCon.Close();                  if (strResult == "0")
                     sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);  
                     sqlCon.Open();  
                     sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);  
                     strResult = (string)sqlCmd.ExecuteScalar();  
                     sqlCon.Close();  
                 }  
                 catch  
239                  {                  {
240                      // the database exists, but one or more tables are missing  
241                      try  
242                        using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateDatabase.ToString())))
243                        {
244                            Logging.ATSAdminLog.Debug("Creating Database AnywhereTS in CheckVersion()");
245                            sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
246                            if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
247                            RunScript(Resource1.CreateDatabase.ToString());
248                            sqlCon.Close();
249                        }
250                        Logging.ATSAdminLog.Debug("Created Database AnywhereTS in CheckVersion()");
251    
252                        using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateTables.ToString())))
253                      {                      {
254                            Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database in CheckVersion()");
255                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
256                          sqlCon.Open();                          if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
257                          RunScript(Resource1.CreateTables.ToString());                          RunScript(Resource1.CreateTables.ToString());
258                          sqlCon.Close();                          sqlCon.Close();
259                        }
260                        Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database in CheckVersion()");
261                    }
262                    try
263                    {
264                        using (log4net.NDC.Push(string.Format("SQL Statment={0}", "SELECT value from AnywhereTS..AppInfo where property='version'")))
265                        {
266                            Logging.ATSAdminLog.Debug("Gettting AnywhereTS Database Version");
267                            sqlCon.Close();
268                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
269                          sqlCon.Open();                          if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
270                          sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);                          sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);
271                          strResult = (string)sqlCmd.ExecuteScalar();                          strResult = (string)sqlCmd.ExecuteScalar();
272                            sqlCon.Close();
273                        }
274                        Logging.ATSAdminLog.DebugFormat("AnywhereTS database version={0}", strResult);
275                    }
276                    catch(SqlException ex)
277                    {
278                        // the database exists, but one or more tables are missing
279                        using (log4net.NDC.Push(string.Format("SqlException: ID={0} MESSAGE={1}{2}Diagnostics:{2}{3}", ex.Number.ToString(), ex.Message, System.Environment.NewLine, ex.ToString())))
280                        {
281                            Logging.ATSAdminLog.Error("Failed to get database version");
282                        }
283                        try
284                        {
285    
286                            using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateTables.ToString())))
287                            {
288                                Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database in CheckVersion()");
289                                sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
290                                if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
291                                RunScript(Resource1.CreateTables.ToString());
292                                sqlCon.Close();
293                            }
294                            Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database in CheckVersion()");
295    
296                            using (log4net.NDC.Push(string.Format("SQL Statment={0}", "SELECT value from AnywhereTS..AppInfo where property='version'")))
297                            {
298                                Logging.ATSAdminLog.Debug("Gettting AnywhereTS Database Version");
299                                sqlCon.Close();
300                                sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
301                                if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
302                                sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);
303                                strResult = (string)sqlCmd.ExecuteScalar();
304                                sqlCon.Close();
305                            }
306                            Logging.ATSAdminLog.DebugFormat("AnywhereTS database version={0}", strResult);
307                      }                      }
308                      catch                      catch(SqlException ex1)
309                      {                      {
310                            using (log4net.NDC.Push(string.Format("SqlException: ID={0} MESSAGE={1}{2}Diagnostics:{2}{3}", ex1.Number.ToString(), ex1.Message, System.Environment.NewLine, ex1.ToString())))
311                            {
312                                Logging.ATSAdminLog.Error("Failed to get database version");
313                            }
314                          return (int)VersionCheck.Failed;                          return (int)VersionCheck.Failed;
315                      }                      }
316                  }                  }
# Line 276  namespace AnywhereTS Line 331  namespace AnywhereTS
331              catch (SqlException sql_ex)              catch (SqlException sql_ex)
332              {              {
333                  MessageBox.Show(sql_ex.Number.ToString() + " " + sql_ex.Message.ToString());                  MessageBox.Show(sql_ex.Number.ToString() + " " + sql_ex.Message.ToString());
334                    using (log4net.NDC.Push(string.Format("SqlException: ID={0} MESSAGE={1}{2}Diagnostics:{2}{3}", sql_ex.Number.ToString(), sql_ex.Message, System.Environment.NewLine, sql_ex.ToString())))
335                    {
336                        Logging.ATSAdminLog.Error("Failed to check database version");
337                    }
338                  return (int)VersionCheck.Failed;                  return (int)VersionCheck.Failed;
339              }              }
340              catch (Exception system_ex)              catch (Exception system_ex)
341              {              {
342                  MessageBox.Show(system_ex.Message.ToString());                  MessageBox.Show(system_ex.Message.ToString());
343                    using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", system_ex.Message, System.Environment.NewLine, system_ex.ToString())))
344                    {
345                        Logging.ATSAdminLog.Error("Failed to check database version");
346                    }
347                  return (int)VersionCheck.Failed;                  return (int)VersionCheck.Failed;
348              }              }
349          }          }

Legend:
Removed from v.39  
changed lines
  Added in v.44

  ViewVC Help
Powered by ViewVC 1.1.22