/[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

--- trunk/TSAdminTool/Database.cs	2012/07/12 12:41:04	41
+++ trunk/TSAdminTool/Database.cs	2012/07/12 16:21:35	51
@@ -27,7 +27,6 @@
         private SqlCommand sqlCmd = new SqlCommand();
 
         const string SQL_BROWSER_SERVICE_NAME = "SQLBrowser";
-        static Version CURRENT_DB_VERSION = new Version(1, 0, 0, 3);
         public static string InstanceName
         {
             get
@@ -58,7 +57,7 @@
                 {
                     Logging.ATSAdminLog.Debug("Opening connection to AnywhereTS Database");
                 }
-                sqlCon.Open();
+                if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
             }
             catch
             {
@@ -71,7 +70,7 @@
                     {
                         Logging.ATSAdminLog.Debug("Creating Database AnywhereTS");
                         sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
-                        sqlCon.Open();
+                        if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
                         RunScript(Resource1.CreateDatabase.ToString());
                         sqlCon.Close();
                     }
@@ -81,9 +80,9 @@
                     {
                         Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database");
                         sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
-                        sqlCon.Open();
+                        if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
                         RunScript(Resource1.CreateTables.ToString());
-                        sqlCon.Close();
+                        //sqlCon.Close();
                     }
                     Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database");
                 }
@@ -149,13 +148,13 @@
                                     //MessageBox.Show("Error: Not able to upgrade database (51188)");
                                     if (databaseVersion == new Version(0, 0, 0, 0))
                                     {
-                                        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);
                                         Logging.ATSAdminLog.Fatal(format);
                                         MessageBox.Show(format);
                                     }
                                     else
                                     {
-                                        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);
                                         Logging.ATSAdminLog.Fatal(format);
                                         MessageBox.Show(format);
                                     }                                    
@@ -205,8 +204,12 @@
                 }
             }
             catch (SqlException sql_ex)
-            {
+            {              
                 MessageBox.Show(sql_ex.Number.ToString() + " " + sql_ex.Message.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())))
+                {
+                    Logging.ATSAdminLog.Error("Failed to RunScript");
+                }
                 return false;
             }
 
@@ -230,8 +233,9 @@
                 using (log4net.NDC.Push(string.Format("SQL STATMENT={0}", "select count(*) from master..sysdatabases where name='AnywhereTS'")))
                 {
                     Logging.ATSAdminLog.Debug("Getting Coount of AnywhereTS databases");
-                      sqlCmd = new SqlCommand("select count(*) from master..sysdatabases where name='AnywhereTS'", sqlCon);
-                        strResult = sqlCmd.ExecuteScalar().ToString();
+                    if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
+                    sqlCmd = new SqlCommand("select count(*) from master..sysdatabases where name='AnywhereTS'", sqlCon);
+                    strResult = sqlCmd.ExecuteScalar().ToString();
                 }
                Logging.ATSAdminLog.DebugFormat("AnywhereTS databases Count={0}", strResult);
 
@@ -243,7 +247,7 @@
                     {
                         Logging.ATSAdminLog.Debug("Creating Database AnywhereTS in CheckVersion()");
                         sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
-                        sqlCon.Open();
+                        if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
                         RunScript(Resource1.CreateDatabase.ToString());
                         sqlCon.Close();
                     }
@@ -253,7 +257,7 @@
                     {
                         Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database in CheckVersion()");
                         sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
-                        sqlCon.Open();
+                        if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
                         RunScript(Resource1.CreateTables.ToString());
                         sqlCon.Close();
                     }
@@ -263,10 +267,9 @@
                 {
                     using (log4net.NDC.Push(string.Format("SQL Statment={0}", "SELECT value from AnywhereTS..AppInfo where property='version'")))
                     {
-                        Logging.ATSAdminLog.Debug("Gettting AnywhereTS Database Version");
-                        sqlCon.Close();
-                        sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
-                        sqlCon.Open();
+                        Logging.ATSAdminLog.Debug("Getting AnywhereTS Database Version#1");
+                        sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
+                        if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
                         sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);
                         strResult = (string)sqlCmd.ExecuteScalar();
                         sqlCon.Close();
@@ -287,7 +290,7 @@
                         {
                             Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database in CheckVersion()");
                             sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
-                            sqlCon.Open();
+                            if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
                             RunScript(Resource1.CreateTables.ToString());
                             sqlCon.Close();
                         }
@@ -295,10 +298,9 @@
 
                         using (log4net.NDC.Push(string.Format("SQL Statment={0}", "SELECT value from AnywhereTS..AppInfo where property='version'")))
                         {
-                            Logging.ATSAdminLog.Debug("Gettting AnywhereTS Database Version");
-                            sqlCon.Close();
-                            sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
-                            sqlCon.Open();
+                            Logging.ATSAdminLog.Debug("Getting AnywhereTS Database Version#2");
+                            sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
+                            if (sqlCon.State != ConnectionState.Open) sqlCon.Open();
                             sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);
                             strResult = (string)sqlCmd.ExecuteScalar();
                             sqlCon.Close();
@@ -368,6 +370,10 @@
             catch (Exception e)
             {
                 MessageBox.Show("Cannot set access rights for users to the database. Do you have the sufficient rights? Application will abort. Error: " + e.Message);
+                using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))
+                {
+                    Logging.ATSAdminLog.Fatal("Cannot set access rights for users to the database.");
+                }
                 Application.Exit();
                 return;
             }
@@ -389,6 +395,10 @@
             catch (Exception e)
             {
                 MessageBox.Show("Could not start the SQL Browser service (13078). Error:" + e.Message);
+                using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))
+                {
+                    Logging.ATSAdminLog.Error("Could not start the SQL Browser service (13078).");
+                }
             }
         }
 
@@ -407,9 +417,13 @@
 
                 }
             }
-            catch
+            catch(Exception e)
             {
                 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.");
+                using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", e.Message, System.Environment.NewLine, e.ToString())))
+                {
+                    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.");
+                }
             }
         }
 

 

  ViewVC Help
Powered by ViewVC 1.1.22