/[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 130 by william, Sat Jul 14 13:01:52 2012 UTC revision 131 by william, Sun Jul 15 02:55:20 2012 UTC
# Line 14  namespace AnywhereTS Line 14  namespace AnywhereTS
14  {  {
15      class DatabaseSupport      class DatabaseSupport
16      {      {
17            
18          enum VersionCheck          enum VersionCheck
19          {          {
20              Failed = 0,              Failed = 0,
21              Equal,              Equal,
22              DatabaseIsMoreNew,              DatabaseIsMoreNew,
23              DatabaseIsOlder,              DatabaseIsOlder,
24              //DatabaseNotFound,              //DatabaseNotFound,
25              DatabaseCreated,              DatabaseCreated,
26          };          };
# Line 34  namespace AnywhereTS Line 34  namespace AnywhereTS
34          {          {
35              Exception ErrorInfo = null;              Exception ErrorInfo = null;
36              try              try
37              {                              {
38                  bool bContinue = false;                  bool bContinue = false;
39                  // Create a connection to SQL Server                  // Create a connection to SQL Server
40                  Logging.ATSAdminLog.Debug("SetupDatabase() called ");                  Logging.DatabaseLog.Debug("SetupDatabase() called ");
41                  #region comment-code                  #region comment-code
42                  #region Database Creation support                  #region Database Creation support
43                  using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))                  using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))
# Line 52  namespace AnywhereTS Line 52  namespace AnywhereTS
52                      {                      {
53                          try                          try
54                          {                          {
55                              conn.Dispose();                              conn.CloseConnection(out ErrorInfo);
56                              using (MsSqlConnector conn1 = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, "master"))                              using (MsSqlConnector conn1 = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, "master"))
57                              {                              {
58                                  try                                  try
59                                  {                                  {
60                                                                          conn1.CreateConnection(out ErrorInfo);
61                                          conn1.CreateConnection(out ErrorInfo);                                      conn1.OpenConnection(out ErrorInfo);
                                         conn1.OpenConnection(out ErrorInfo);  
62    
63                                          // create datagbase                                      // create datagbase
64                                          using (log4net.NDC.Push("SetupDatabase().CreateDatabase"))                                      using (log4net.NDC.Push("SetupDatabase().CreateDatabase"))
65                                          {                                      {
66                                              Logging.ATSAdminLog.Info(string.Format("Creating Database {0}", ATSGlobals.strDatabaseName));                                          Logging.DatabaseLog.Info(string.Format("Creating Database {0}", ATSGlobals.strDatabaseName));
67                                              RunScript(SQLServerResources.CreateDatabase, conn1, out ErrorInfo);                                          RunScript(SQLServerResources.CreateDatabase, conn1, out ErrorInfo);
68                                              Logging.ATSAdminLog.Info(string.Format("Created Database {0}", ATSGlobals.strDatabaseName));                                          Logging.DatabaseLog.Info(string.Format("Created Database {0}", ATSGlobals.strDatabaseName));
69                                          }                                      }
70                                          using (log4net.NDC.Push("SetupDatabase().CreateTables"))                                      using (log4net.NDC.Push("SetupDatabase().CreateTables"))
71                                          {                                      {
72                                              // create tables                                          // create tables
73                                              Logging.ATSAdminLog.Info(string.Format("Creating Tables in {0} Database", ATSGlobals.strDatabaseName));                                          Logging.DatabaseLog.Info(string.Format("Creating Tables in {0} Database", ATSGlobals.strDatabaseName));
74                                              RunScript(SQLServerResources.CreateTables, conn1, out ErrorInfo);                                          RunScript(SQLServerResources.CreateTables, conn1, out ErrorInfo);
75                                              Logging.ATSAdminLog.Info(string.Format("Created Tables in {0} Database", ATSGlobals.strDatabaseName));                                          Logging.DatabaseLog.Info(string.Format("Created Tables in {0} Database", ATSGlobals.strDatabaseName));
76                                          }                                      }
77                                  }                                  }
78                                  catch (Exception ex1)                                  catch (Exception ex1)
79                                  {                                  {
# Line 90  namespace AnywhereTS Line 89  namespace AnywhereTS
89                          throw ErrorInfo;                          throw ErrorInfo;
90                      }                      }
91                  }                  }
                 if (ErrorInfo != null) { throw ErrorInfo; }  
92                  #endregion                  #endregion
93    
94                  #region Database version check                  #region Database version check
# Line 99  namespace AnywhereTS Line 97  namespace AnywhereTS
97                  int chkVer = CheckVersion(out databaseVersion);                  int chkVer = CheckVersion(out databaseVersion);
98                  VersionCheck verChk = (VersionCheck)chkVer;                  VersionCheck verChk = (VersionCheck)chkVer;
99                  //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()));
100                  Logging.ATSAdminLog.InfoFormat("Database Version Check: {0} .... Database Version: {1}", verChk.ToString(), databaseVersion.ToString());                  Logging.DatabaseLog.InfoFormat("Database Version Check: {0} .... Database Version: {1}", verChk.ToString(), databaseVersion.ToString());
101                  switch (chkVer)                  switch (chkVer)
102                  {                  {
103                      case (int)VersionCheck.Equal:                      case (int)VersionCheck.Equal:
# Line 126  namespace AnywhereTS Line 124  namespace AnywhereTS
124                                          // Run the apropriate upgdrade script(s)                                          // Run the apropriate upgdrade script(s)
125                                          case "1.0.0.0":                                          case "1.0.0.0":
126                                              {   // 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
127                                                  Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.0", "1.0.0.1");                                                  Logging.DatabaseLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.0", "1.0.0.1");
128                                                  bContinue = RunScript(SQLServerResources.UpdateDatabase1, conn, out ErrorInfo);                                                  bContinue = RunScript(SQLServerResources.UpdateDatabase1, conn, out ErrorInfo);
129                                                  Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.0", "1.0.0.1");                                                  Logging.DatabaseLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.0", "1.0.0.1");
130                                                  goto case "1.0.0.1"; // Continue and upgrade one more step                                                  goto case "1.0.0.1"; // Continue and upgrade one more step
131                                              }                                              }
132                                          case "1.0.0.1":                                          case "1.0.0.1":
133                                              {   // 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
134                                                  Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.1", "1.0.0.2");                                                  Logging.DatabaseLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.1", "1.0.0.2");
135                                                  bContinue = RunScript(SQLServerResources.UpdateDatabase2, conn, out ErrorInfo);                                                  bContinue = RunScript(SQLServerResources.UpdateDatabase2, conn, out ErrorInfo);
136                                                  Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.2");                                                  Logging.DatabaseLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.2");
137                                                  goto case "1.0.0.2"; // Continue and upgrade one more step                                                  goto case "1.0.0.2"; // Continue and upgrade one more step
138                                              }                                              }
139                                          case "1.0.0.2":                                          case "1.0.0.2":
140                                              {   // 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
141                                                  Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");                                                  Logging.DatabaseLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");
142                                                  bContinue = RunScript(SQLServerResources.UpdateDatabase3, conn, out ErrorInfo);                                                  bContinue = RunScript(SQLServerResources.UpdateDatabase3, conn, out ErrorInfo);
143                                                  Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");                                                  Logging.DatabaseLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.2", "1.0.0.3");
144                                                  goto case "1.0.0.3"; // Continue and upgrade one more step                                                  goto case "1.0.0.3"; // Continue and upgrade one more step
145                                              }                                              }
146                                          case "1.0.0.3":                                          case "1.0.0.3":
147                                              {   // 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
148                                                  Logging.ATSAdminLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.3", "1.0.0.4");                                                  Logging.DatabaseLog.InfoFormat("Upgrading Database from version: {0} to version: {1}", "1.0.0.3", "1.0.0.4");
149                                                  bContinue = RunScript(SQLServerResources.UpdateDatabase4, conn, out ErrorInfo);                                                  bContinue = RunScript(SQLServerResources.UpdateDatabase4, conn, out ErrorInfo);
150                                                  Logging.ATSAdminLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.4", "1.0.0.4");                                                  Logging.DatabaseLog.InfoFormat("Upgraded Database from version: {0} to version: {1}", "1.0.0.4", "1.0.0.4");
151                                                  break;                                                  break;
152                                              }                                              }
153                                          default:                                          default:
# Line 158  namespace AnywhereTS Line 156  namespace AnywhereTS
156                                                  if (databaseVersion == new Version(0, 0, 0, 0))                                                  if (databaseVersion == new Version(0, 0, 0, 0))
157                                                  {                                                  {
158                                                      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);
159                                                      Logging.ATSAdminLog.Fatal(format);                                                      Logging.DatabaseLog.Fatal(format);
160                                                      MessageBox.Show(format);                                                      MessageBox.Show(format);
161                                                  }                                                  }
162                                                  else                                                  else
163                                                  {                                                  {
164                                                      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);
165                                                      Logging.ATSAdminLog.Fatal(format);                                                      Logging.DatabaseLog.Fatal(format);
166                                                      MessageBox.Show(format);                                                      MessageBox.Show(format);
167                                                  }                                                  }
168                                                  break;                                                  break;
# Line 204  namespace AnywhereTS Line 202  namespace AnywhereTS
202                      ErrorInfo = ex.GetBaseException();                      ErrorInfo = ex.GetBaseException();
203                      using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ex.GetType().Name, ex.Message, System.Environment.NewLine, ex.ToString())))                      using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ex.GetType().Name, ex.Message, System.Environment.NewLine, ex.ToString())))
204                      {                      {
205                          Logging.ATSAdminLog.Error(string.Format("Failed to setup database: {0}", ATSGlobals.strDatabaseName));                          Logging.DatabaseLog.Error(string.Format("SetupDatabase() failed"));
206                      }                      }
207                      throw ErrorInfo;                      throw ErrorInfo;
208                  }                  }
# Line 213  namespace AnywhereTS Line 211  namespace AnywhereTS
211                      ErrorInfo = ErrorInfo.GetBaseException();                      ErrorInfo = ErrorInfo.GetBaseException();
212                      using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ErrorInfo.GetType().Name, ErrorInfo.Message, System.Environment.NewLine, ErrorInfo.ToString())))                      using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ErrorInfo.GetType().Name, ErrorInfo.Message, System.Environment.NewLine, ErrorInfo.ToString())))
213                      {                      {
214                          Logging.ATSAdminLog.Error(string.Format("Failed to setup database: {0}", ATSGlobals.strDatabaseName));                          Logging.DatabaseLog.Error(string.Format("SetupDatabase() failed"));
215                      }                      }
216                      throw ErrorInfo;                      throw ErrorInfo;
217                  }                  }
218              }              }
219          }          }
220    
221    
222          public bool RunScript(string strFile, MsSqlConnector con, out Exception ErrorInfo)          public bool RunScript(string strFile, MsSqlConnector con, out Exception ErrorInfo)
223          {          {
224              ErrorInfo = null;              ErrorInfo = null;
# Line 234  namespace AnywhereTS Line 232  namespace AnywhereTS
232          {          {
233              Exception ErrorInfo = null;              Exception ErrorInfo = null;
234              //Get Version information from application              //Get Version information from application
235              Version v=new Version(ATSGlobals.strDatabaseVersion);              Version v = new Version(ATSGlobals.strDatabaseVersion);
236              vDb = new Version("0.0.0.0"); // Assign a default value for version              vDb = new Version("0.0.0.0"); // Assign a default value for version
237              try              try
238              {              {
# Line 248  namespace AnywhereTS Line 246  namespace AnywhereTS
246                  {                  {
247                      try                      try
248                      {                      {
249                          conn.CreateConnection(out ErrorInfo);                          SqlConnection sqlCon = conn.CreateConnection(out ErrorInfo);
250                          conn.OpenConnection(out ErrorInfo);                          conn.OpenConnection(out ErrorInfo);
251                            //Logging.DatabaseLog.Debug(string.Format("Getting Coount of {0} databases", ATSGlobals.strDatabaseName));
252                            SqlCommand sqlCmd = new SqlCommand(string.Format("select count(*) from master..sysdatabases where name='{0}'", ATSGlobals.strDatabaseName), sqlCon);
253                            db_count = Convert.ToInt32(sqlCmd.ExecuteScalar());
254    
255                          //Logging.ATSAdminLog.Debug(string.Format("Getting Coount of {0} databases", ATSGlobals.strDatabaseName));                          Logging.DatabaseLog.Info(string.Format("Found {0} databases named {1}", db_count, ATSGlobals.strDatabaseName));
   
                         SqlCommand cmd = conn.CreateCommandInstance(string.Format("select count(*) from master..sysdatabases where name='{0}'", ATSGlobals.strDatabaseName), new List<SqlParameter>(), out ErrorInfo);  
                         db_count = Convert.ToInt32(cmd.ExecuteScalar());  
   
                         Logging.ATSAdminLog.Info(string.Format("Found {0} databases named {1}", db_count, ATSGlobals.strDatabaseName));  
256                      }                      }
257                      catch (Exception ex)                      catch (Exception ex)
258                      {                      {
# Line 265  namespace AnywhereTS Line 261  namespace AnywhereTS
261                              ErrorInfo = ex;                              ErrorInfo = ex;
262                              using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ex.GetType().Name, ex.Message, System.Environment.NewLine, ex.ToString())))                              using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ex.GetType().Name, ex.Message, System.Environment.NewLine, ex.ToString())))
263                              {                              {
264                                  Logging.ATSAdminLog.Error(string.Format("Failed to get count of databases named: {0}{1}", System.Environment.NewLine, ATSGlobals.strDatabaseName));                                  Logging.DatabaseLog.Error(string.Format("Failed to get count of databases named: {0}{1}", System.Environment.NewLine, ATSGlobals.strDatabaseName));
265                              }                              }
266                              throw ErrorInfo;                              throw ErrorInfo;
267                          }                          }
# Line 274  namespace AnywhereTS Line 270  namespace AnywhereTS
270                              ErrorInfo = ex.GetBaseException();                              ErrorInfo = ex.GetBaseException();
271                              using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ErrorInfo.GetType().Name, ErrorInfo.Message, System.Environment.NewLine, ErrorInfo.ToString())))                              using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ErrorInfo.GetType().Name, ErrorInfo.Message, System.Environment.NewLine, ErrorInfo.ToString())))
272                              {                              {
273                                  Logging.ATSAdminLog.Error(string.Format("Failed to get count of databases named: {0}{1}", System.Environment.NewLine, ATSGlobals.strDatabaseName));                                  Logging.DatabaseLog.Error(string.Format("Failed to get count of databases named: {0}{1}", System.Environment.NewLine, ATSGlobals.strDatabaseName));
274                              }                              }
275                              throw ErrorInfo;                              throw ErrorInfo;
276                          }                          }
# Line 311  namespace AnywhereTS Line 307  namespace AnywhereTS
307                                          // create datagbase                                          // create datagbase
308                                          using (log4net.NDC.Push("CheckVersion().CreateDatabase"))                                          using (log4net.NDC.Push("CheckVersion().CreateDatabase"))
309                                          {                                          {
310                                              Logging.ATSAdminLog.Info(string.Format("Creating Database {0}", ATSGlobals.strDatabaseName));                                              Logging.DatabaseLog.Info(string.Format("Creating Database {0}", ATSGlobals.strDatabaseName));
311                                              RunScript(SQLServerResources.CreateDatabase, conn1, out ErrorInfo);                                              RunScript(SQLServerResources.CreateDatabase, conn1, out ErrorInfo);
312                                              Logging.ATSAdminLog.Info(string.Format("Created Database {0}", ATSGlobals.strDatabaseName));                                              Logging.DatabaseLog.Info(string.Format("Created Database {0}", ATSGlobals.strDatabaseName));
313                                          }                                          }
314                                          using (log4net.NDC.Push("CheckVersion().CreateTables"))                                          using (log4net.NDC.Push("CheckVersion().CreateTables"))
315                                          {                                          {
316                                              // create tables                                              // create tables
317                                              Logging.ATSAdminLog.Info(string.Format("Creating Tables in {0} Database", ATSGlobals.strDatabaseName));                                              Logging.DatabaseLog.Info(string.Format("Creating Tables in {0} Database", ATSGlobals.strDatabaseName));
318                                              RunScript(SQLServerResources.CreateTables, conn1, out ErrorInfo);                                              RunScript(SQLServerResources.CreateTables, conn1, out ErrorInfo);
319                                              Logging.ATSAdminLog.Info(string.Format("Created Tables in {0} Database", ATSGlobals.strDatabaseName));                                              Logging.DatabaseLog.Info(string.Format("Created Tables in {0} Database", ATSGlobals.strDatabaseName));
320                                          }                                          }
321                                      }                                      }
322                                      catch (Exception ex1)                                      catch (Exception ex1)
# Line 342  namespace AnywhereTS Line 338  namespace AnywhereTS
338                      #endregion                      #endregion
339                  }                  }
340    
341                    
342                  #region Get Database Version                  #region Get Database Version
343                  using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))                  using (MsSqlConnector conn = new MsSqlConnector(ProSupport.strDatabaseServer, ProSupport.strDatabaseInstance, ATSGlobals.strDatabaseName))
344                  {                  {
345                      try                      try
346                      {                      {
347                          conn.CreateConnection(out ErrorInfo);                          SqlConnection sqlCon = conn.CreateConnection(out ErrorInfo);
348                          conn.OpenConnection(out ErrorInfo);                          conn.OpenConnection(out ErrorInfo);
349    
350                          //Logging.ATSAdminLog.Debug(string.Format("Getting Coount of {0} databases", ATSGlobals.strDatabaseName));                          //Logging.DatabaseLog.Debug(string.Format("Getting Coount of {0} databases", ATSGlobals.strDatabaseName));
351    
352                          SqlCommand cmd = conn.CreateCommandInstance(string.Format("SELECT value from {0}..AppInfo where property='version'", ATSGlobals.strDatabaseName), new List<SqlParameter>(), out ErrorInfo);                          SqlCommand sqlCmd = new SqlCommand(string.Format("SELECT value from {0}..AppInfo where property='version'", ATSGlobals.strDatabaseName), sqlCon);
353                          string version = (string)cmd.ExecuteScalar();                          string version = (string)sqlCmd.ExecuteScalar();
354                          vDb = new Version(version);                          vDb = new Version(version);
355                          Logging.ATSAdminLog.Info(string.Format("Database {0} is at Version: {1}", ATSGlobals.strDatabaseName, version));                          Logging.DatabaseLog.Info(string.Format("Database {0} is at Version: {1}", ATSGlobals.strDatabaseName, version));
356                      }                      }
357                      catch (Exception ex)                      catch (Exception ex)
358                      {                      {
# Line 365  namespace AnywhereTS Line 361  namespace AnywhereTS
361                              ErrorInfo = ex;                              ErrorInfo = ex;
362                              using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ex.GetType().Name, ex.Message, System.Environment.NewLine, ex.ToString())))                              using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ex.GetType().Name, ex.Message, System.Environment.NewLine, ex.ToString())))
363                              {                              {
364                                  Logging.ATSAdminLog.Error(string.Format("Failed to get count of databases named: {0}{1}", System.Environment.NewLine, ATSGlobals.strDatabaseName));                                  Logging.DatabaseLog.Error(string.Format("Failed to get count of databases named: {0}{1}", System.Environment.NewLine, ATSGlobals.strDatabaseName));
365                              }                              }
366                              throw ErrorInfo;                              throw ErrorInfo;
367                          }                          }
# Line 374  namespace AnywhereTS Line 370  namespace AnywhereTS
370                              ErrorInfo = ex.GetBaseException();                              ErrorInfo = ex.GetBaseException();
371                              using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ErrorInfo.GetType().Name, ErrorInfo.Message, System.Environment.NewLine, ErrorInfo.ToString())))                              using (log4net.NDC.Push(string.Format("{0}: MESSAGE={1}{2}Diagnostics:{2}{3}", ErrorInfo.GetType().Name, ErrorInfo.Message, System.Environment.NewLine, ErrorInfo.ToString())))
372                              {                              {
373                                  Logging.ATSAdminLog.Error(string.Format("Failed to get count of databases named: {0}{1}", System.Environment.NewLine, ATSGlobals.strDatabaseName));                                  Logging.DatabaseLog.Error(string.Format("Failed to get count of databases named: {0}{1}", System.Environment.NewLine, ATSGlobals.strDatabaseName));
374                              }                              }
375                              throw ErrorInfo;                              throw ErrorInfo;
376                          }                          }
# Line 387  namespace AnywhereTS Line 383  namespace AnywhereTS
383                  //{                  //{
384                  //    //using (log4net.NDC.Push(string.Format("SQL Statment={0}", "SELECT value from {0}..AppInfo where property='version'", ATSGlobals.strDatabaseName)))                  //    //using (log4net.NDC.Push(string.Format("SQL Statment={0}", "SELECT value from {0}..AppInfo where property='version'", ATSGlobals.strDatabaseName)))
385                  //    //{                  //    //{
386                  //        Logging.ATSAdminLog.Debug(string.Format("Getting {0} Database Version#1", ATSGlobals.strDatabaseName));                  //        Logging.DatabaseLog.Debug(string.Format("Getting {0} Database Version#1", ATSGlobals.strDatabaseName));
387                  //        sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace(ATSGlobals.strDatabaseName, "master"));                  //        sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace(ATSGlobals.strDatabaseName, "master"));
388                  //        if (sqlCon.State != ConnectionState.Open) sqlCon.Open();                  //        if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
389                  //        sqlCmd = new SqlCommand(string.Format("SELECT value from {0}..AppInfo where property='version'",ATSGlobals.strDatabaseName), sqlCon);                  //        sqlCmd = new SqlCommand(string.Format("SELECT value from {0}..AppInfo where property='version'",ATSGlobals.strDatabaseName), sqlCon);
390                  //        strResult = (string)sqlCmd.ExecuteScalar();                  //        strResult = (string)sqlCmd.ExecuteScalar();
391                  //        sqlCon.Close();                  //        sqlCon.Close();
392                  //    //}                  //    //}
393                  //    Logging.ATSAdminLog.DebugFormat("{0} database version={1}",ATSGlobals.strDatabaseName, strResult);                  //    Logging.DatabaseLog.DebugFormat("{0} database version={1}",ATSGlobals.strDatabaseName, strResult);
394                  //}                  //}
395                  //catch(SqlException ex)                  //catch(SqlException ex)
396                  //{                  //{
397                  //    // the database exists, but one or more tables are missing                  //    // the database exists, but one or more tables are missing
398                  //    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())))                  //    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())))
399                  //    {                  //    {
400                  //        Logging.ATSAdminLog.Error("Failed to get database version");                  //        Logging.DatabaseLog.Error("Failed to get database version");
401                  //    }                  //    }
402                  //    try                  //    try
403                  //    {                  //    {
404                  //        //using (log4net.NDC.Push(string.Format("SQL Statment={0}", SQLServerResources.CreateTables)))                  //        //using (log4net.NDC.Push(string.Format("SQL Statment={0}", SQLServerResources.CreateTables)))
405                  //        //{                  //        //{
406                  //            Logging.ATSAdminLog.Debug(string.Format("Creating Tables in {0} Database in CheckVersion()", ATSGlobals.strDatabaseName));                  //            Logging.DatabaseLog.Debug(string.Format("Creating Tables in {0} Database in CheckVersion()", ATSGlobals.strDatabaseName));
407                  //            sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace(ATSGlobals.strDatabaseName, "master"));                  //            sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace(ATSGlobals.strDatabaseName, "master"));
408                  //            if (sqlCon.State != ConnectionState.Open) sqlCon.Open();                  //            if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
409                  //            RunScript(SQLServerResources.CreateTables);                  //            RunScript(SQLServerResources.CreateTables);
410                  //            sqlCon.Close();                  //            sqlCon.Close();
411                  //        //}                  //        //}
412                  //        Logging.ATSAdminLog.Debug(string.Format("Created Tables in {0} Database in CheckVersion()", ATSGlobals.strDatabaseName));                  //        Logging.DatabaseLog.Debug(string.Format("Created Tables in {0} Database in CheckVersion()", ATSGlobals.strDatabaseName));
413                  //        using (log4net.NDC.Push(string.Format("SQL Statment={0}", string.Format("SELECT value from {0}..AppInfo where property='version'", ATSGlobals.strDatabaseName))))                  //        using (log4net.NDC.Push(string.Format("SQL Statment={0}", string.Format("SELECT value from {0}..AppInfo where property='version'", ATSGlobals.strDatabaseName))))
414                  //        {                  //        {
415                  //            Logging.ATSAdminLog.Debug(string.Format("Getting {0} Database Version#2", ATSGlobals.strDatabaseName));                  //            Logging.DatabaseLog.Debug(string.Format("Getting {0} Database Version#2", ATSGlobals.strDatabaseName));
416                  //            sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace(ATSGlobals.strDatabaseName, "master"));                  //            sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace(ATSGlobals.strDatabaseName, "master"));
417                  //            if (sqlCon.State != ConnectionState.Open) sqlCon.Open();                  //            if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
418                  //            sqlCmd = new SqlCommand(string.Format("SELECT value from {0}..AppInfo where property='version'", ATSGlobals.strDatabaseName), sqlCon);                  //            sqlCmd = new SqlCommand(string.Format("SELECT value from {0}..AppInfo where property='version'", ATSGlobals.strDatabaseName), sqlCon);
419                  //            strResult = (string)sqlCmd.ExecuteScalar();                  //            strResult = (string)sqlCmd.ExecuteScalar();
420                  //            sqlCon.Close();                  //            sqlCon.Close();
421                  //        }                  //        }
422                  //        Logging.ATSAdminLog.DebugFormat("{0} database version={1}",ATSGlobals.strDatabaseName, strResult);                  //        Logging.DatabaseLog.DebugFormat("{0} database version={1}",ATSGlobals.strDatabaseName, strResult);
423                  //    }                  //    }
424                  //    catch(SqlException ex1)                  //    catch(SqlException ex1)
425                  //    {                  //    {
426                  //        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())))                  //        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())))
427                  //        {                  //        {
428                  //            Logging.ATSAdminLog.Error("Failed to get database version");                  //            Logging.DatabaseLog.Error("Failed to get database version");
429                  //        }                  //        }
430                  //        return (int)VersionCheck.Failed;                  //        return (int)VersionCheck.Failed;
431                  //    }                  //    }
432                  //}                  //}
433                  #endregion                  #endregion
434                    
435              
436                  //sqlCon.Close();                  //sqlCon.Close();
437    
438                  if (vDb == v)                  if (vDb == v)
# Line 445  namespace AnywhereTS Line 441  namespace AnywhereTS
441                  if (vDb > v)                  if (vDb > v)
442                      return (int)VersionCheck.DatabaseIsMoreNew;                      return (int)VersionCheck.DatabaseIsMoreNew;
443    
444                  else                  else
445                      return (int)VersionCheck.DatabaseIsOlder;                      return (int)VersionCheck.DatabaseIsOlder;
446                    
447              }              }
448              catch (SqlException sql_ex)              catch (SqlException sql_ex)
449              {              {
450                  MessageBox.Show(sql_ex.Number.ToString() + " " + sql_ex.Message.ToString());                  MessageBox.Show(sql_ex.Number.ToString() + " " + sql_ex.Message.ToString());
451                  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())))                  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())))
452                  {                  {
453                      Logging.ATSAdminLog.Error("Failed to check database version");                      Logging.DatabaseLog.Error("Failed to check database version");
454                  }                  }
455                  return (int)VersionCheck.Failed;                  return (int)VersionCheck.Failed;
456              }              }
# Line 463  namespace AnywhereTS Line 459  namespace AnywhereTS
459                  MessageBox.Show(system_ex.Message.ToString());                  MessageBox.Show(system_ex.Message.ToString());
460                  using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", system_ex.Message, System.Environment.NewLine, system_ex.ToString())))                  using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", system_ex.Message, System.Environment.NewLine, system_ex.ToString())))
461                  {                  {
462                      Logging.ATSAdminLog.Error("Failed to check database version");                      Logging.DatabaseLog.Error("Failed to check database version");
463                  }                  }
464                  return (int)VersionCheck.Failed;                  return (int)VersionCheck.Failed;
465              }              }
466          }          }
467    
468          
469    
470    
471          //[Obsolete("SetDatabaseRights() has been deperecated - user rights are assigned via SQL Server", true)]          //[Obsolete("SetDatabaseRights() has been deperecated - user rights are assigned via SQL Server", true)]
# Line 486  namespace AnywhereTS Line 482  namespace AnywhereTS
482          //        MessageBox.Show("Cannot set access rights for users to the database. Do you have the sufficient rights? Application will abort. Error: " + e.Message);          //        MessageBox.Show("Cannot set access rights for users to the database. Do you have the sufficient rights? Application will abort. Error: " + e.Message);
483          //        using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))          //        using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))
484          //        {          //        {
485          //            Logging.ATSAdminLog.Fatal("Cannot set access rights for users to the database.");          //            Logging.DatabaseLog.Fatal("Cannot set access rights for users to the database.");
486          //        }          //        }
487          //        Application.Exit();          //        Application.Exit();
488          //        return;          //        return;
# Line 511  namespace AnywhereTS Line 507  namespace AnywhereTS
507                  MessageBox.Show("Could not start the SQL Browser service (13078). Error:" + e.Message);                  MessageBox.Show("Could not start the SQL Browser service (13078). Error:" + e.Message);
508                  using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))                  using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))
509                  {                  {
510                      Logging.ATSAdminLog.Error("Could not start the SQL Browser service (13078).");                      Logging.DatabaseLog.Error("Could not start the SQL Browser service (13078).");
511                  }                  }
512              }              }
513          }          }
# Line 531  namespace AnywhereTS Line 527  namespace AnywhereTS
527    
528                  }                  }
529              }              }
530              catch(Exception e)              catch (Exception e)
531              {              {
532                  MessageBox.Show("Error, could not configure SQL Browser service (24888). Please check that SQL Server is intalled and that you are logged in with sufficient rights to configure services. Then retry the operation.");                  MessageBox.Show("Error, could not configure SQL Browser service (24888). Please check that SQL Server is intalled and that you are logged in with sufficient rights to configure services. Then retry the operation.");
533                  using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))                  using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))
534                  {                  {
535                      Logging.ATSAdminLog.Fatal("Could not configure SQL Browser service (24888). Please check that SQL Server is intalled and that you are logged in with sufficient rights to configure services. Then retry the operation.");                      Logging.DatabaseLog.Fatal("Could not configure SQL Browser service (24888). Please check that SQL Server is intalled and that you are logged in with sufficient rights to configure services. Then retry the operation.");
536                  }                  }
537              }              }
538          }          }
539    
540          // Enable named pipes on the SQL Express server          // Enable named pipes on the SQL Express server
541          public static bool EnableNamedPipes()          public static bool EnableNamedPipes()
542          {          {
543              ManagementScope manScope = new ManagementScope(@"\\.\root\Microsoft\SqlServer\ComputerManagement");              ManagementScope manScope = new ManagementScope(@"\\.\root\Microsoft\SqlServer\ComputerManagement");
544              ManagementClass sqlServicesMan = new ManagementClass(manScope, new ManagementPath("SqlService"), null);              ManagementClass sqlServicesMan = new ManagementClass(manScope, new ManagementPath("SqlService"), null);
545              ManagementClass serverProtocolsMan = new ManagementClass(manScope, new ManagementPath("ServerNetworkProtocol"), null);              ManagementClass serverProtocolsMan = new ManagementClass(manScope, new ManagementPath("ServerNetworkProtocol"), null);
# Line 561  namespace AnywhereTS Line 557  namespace AnywhereTS
557                      if (!(bool)prot.GetPropertyValue("Enabled"))                      if (!(bool)prot.GetPropertyValue("Enabled"))
558                      {   // Named pipes not activated                      {   // Named pipes not activated
559                          prot.InvokeMethod("SetEnable", null);  // Activate named pipes                          prot.InvokeMethod("SetEnable", null);  // Activate named pipes
560                  
561                          // Check if user wants to restart SQL server                          // Check if user wants to restart SQL server
562                          DialogResult resultRights;                          DialogResult resultRights;
563                          resultRights = MessageBox.Show(string.Format("In order for users to use the AnywhereTS control panel, the {0} service on this computer need to be restarted. This operation might take up to 60 seconds. Do you want restart the {0} service now?", InstanceName), string.Format("AnywhereTS - Restart {0} (This operation might take up to 60 seconds!)", InstanceName), MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);                          resultRights = MessageBox.Show(string.Format("In order for users to use the AnywhereTS control panel, the {0} service on this computer need to be restarted. This operation might take up to 60 seconds. Do you want restart the {0} service now?", InstanceName), string.Format("AnywhereTS - Restart {0} (This operation might take up to 60 seconds!)", InstanceName), MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);

Legend:
Removed from v.130  
changed lines
  Added in v.131

  ViewVC Help
Powered by ViewVC 1.1.22