/[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 40 by william, Thu Jul 12 12:25:58 2012 UTC revision 43 by william, Thu Jul 12 12:43:29 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 149  namespace AnywhereTS Line 148  namespace AnywhereTS
148                                      //MessageBox.Show("Error: Not able to upgrade database (51188)");                                      //MessageBox.Show("Error: Not able to upgrade database (51188)");
149                                      if (databaseVersion == new Version(0, 0, 0, 0))                                      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(), CURRENT_DB_VERSION.ToString());                                          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);                                          Logging.ATSAdminLog.Fatal(format);
153                                          MessageBox.Show(format);                                          MessageBox.Show(format);
154                                      }                                      }
155                                      else                                      else
156                                      {                                      {
157                                          string format = string.Format("Failed to upgrade Database from version: {0} to version: {1}", databaseVersion.ToString(), CURRENT_DB_VERSION.ToString());                                          string format = string.Format("Failed to upgrade Database from version: {0} to version: {1}", databaseVersion.ToString(), ATSGlobals.strDatabaseVersion);
158                                          Logging.ATSAdminLog.Fatal(format);                                          Logging.ATSAdminLog.Fatal(format);
159                                          MessageBox.Show(format);                                          MessageBox.Show(format);
160                                      }                                                                          }                                    
# Line 226  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'")))
                 {  
                     sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));  
                     sqlCon.Open();  
                     RunScript(Resource1.CreateDatabase.ToString());  
                     sqlCon.Close();  
                     sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));  
                     sqlCon.Open();  
                     RunScript(Resource1.CreateTables.ToString());  
                     sqlCon.Close();  
                 }  
                 try  
230                  {                  {
231                      sqlCon.Close();                      Logging.ATSAdminLog.Debug("Getting Coount of AnywhereTS databases");
232                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);                        sqlCmd = new SqlCommand("select count(*) from master..sysdatabases where name='AnywhereTS'", sqlCon);
233                      sqlCon.Open();                          strResult = sqlCmd.ExecuteScalar().ToString();
                     sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);  
                     strResult = (string)sqlCmd.ExecuteScalar();  
                     sqlCon.Close();  
234                  }                  }
235                  catch                 Logging.ATSAdminLog.DebugFormat("AnywhereTS databases Count={0}", strResult);
236    
237                    if (strResult == "0")
238                  {                  {
239                      // the database exists, but one or more tables are missing  
240                      try  
241                        using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateDatabase.ToString())))
242                      {                      {
243                            Logging.ATSAdminLog.Debug("Creating Database AnywhereTS in CheckVersion()");
244                            sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
245                            sqlCon.Open();
246                            RunScript(Resource1.CreateDatabase.ToString());
247                            sqlCon.Close();
248                        }
249                        Logging.ATSAdminLog.Debug("Created Database AnywhereTS in CheckVersion()");
250    
251                        using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateTables.ToString())))
252                        {
253                            Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database in CheckVersion()");
254                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
255                          sqlCon.Open();                          sqlCon.Open();
256                          RunScript(Resource1.CreateTables.ToString());                          RunScript(Resource1.CreateTables.ToString());
257                          sqlCon.Close();                          sqlCon.Close();
258                        }
259                        Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database in CheckVersion()");
260                    }
261                    try
262                    {
263                        using (log4net.NDC.Push(string.Format("SQL Statment={0}", "SELECT value from AnywhereTS..AppInfo where property='version'")))
264                        {
265                            Logging.ATSAdminLog.Debug("Gettting AnywhereTS Database Version");
266                            sqlCon.Close();
267                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
268                          sqlCon.Open();                          sqlCon.Open();
269                          sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);                          sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);
270                          strResult = (string)sqlCmd.ExecuteScalar();                          strResult = (string)sqlCmd.ExecuteScalar();
271                            sqlCon.Close();
272                        }
273                        Logging.ATSAdminLog.DebugFormat("AnywhereTS database version={0}", strResult);
274                    }
275                    catch(SqlException ex)
276                    {
277                        // the database exists, but one or more tables are missing
278                        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())))
279                        {
280                            Logging.ATSAdminLog.Error("Failed to get database version");
281                      }                      }
282                      catch                      try
283                      {                      {
284    
285                            using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateTables.ToString())))
286                            {
287                                Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database in CheckVersion()");
288                                sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
289                                sqlCon.Open();
290                                RunScript(Resource1.CreateTables.ToString());
291                                sqlCon.Close();
292                            }
293                            Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database in CheckVersion()");
294    
295                            using (log4net.NDC.Push(string.Format("SQL Statment={0}", "SELECT value from AnywhereTS..AppInfo where property='version'")))
296                            {
297                                Logging.ATSAdminLog.Debug("Gettting AnywhereTS Database Version");
298                                sqlCon.Close();
299                                sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
300                                sqlCon.Open();
301                                sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);
302                                strResult = (string)sqlCmd.ExecuteScalar();
303                                sqlCon.Close();
304                            }
305                            Logging.ATSAdminLog.DebugFormat("AnywhereTS database version={0}", strResult);
306                        }
307                        catch(SqlException ex1)
308                        {
309                            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())))
310                            {
311                                Logging.ATSAdminLog.Error("Failed to get database version");
312                            }
313                          return (int)VersionCheck.Failed;                          return (int)VersionCheck.Failed;
314                      }                      }
315                  }                  }
# Line 285  namespace AnywhereTS Line 330  namespace AnywhereTS
330              catch (SqlException sql_ex)              catch (SqlException sql_ex)
331              {              {
332                  MessageBox.Show(sql_ex.Number.ToString() + " " + sql_ex.Message.ToString());                  MessageBox.Show(sql_ex.Number.ToString() + " " + sql_ex.Message.ToString());
333                    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())))
334                    {
335                        Logging.ATSAdminLog.Error("Failed to check database version");
336                    }
337                  return (int)VersionCheck.Failed;                  return (int)VersionCheck.Failed;
338              }              }
339              catch (Exception system_ex)              catch (Exception system_ex)
340              {              {
341                  MessageBox.Show(system_ex.Message.ToString());                  MessageBox.Show(system_ex.Message.ToString());
342                    using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", system_ex.Message, System.Environment.NewLine, system_ex.ToString())))
343                    {
344                        Logging.ATSAdminLog.Error("Failed to check database version");
345                    }
346                  return (int)VersionCheck.Failed;                  return (int)VersionCheck.Failed;
347              }              }
348          }          }

Legend:
Removed from v.40  
changed lines
  Added in v.43

  ViewVC Help
Powered by ViewVC 1.1.22