--- trunk/TSAdminTool/Database.cs 2012/07/12 12:25:58 40 +++ trunk/TSAdminTool/Database.cs 2012/07/12 12:41:04 41 @@ -27,7 +27,7 @@ private SqlCommand sqlCmd = new SqlCommand(); const string SQL_BROWSER_SERVICE_NAME = "SQLBrowser"; - const Version CURRENT_DB_VERSION = new Version(1, 0, 0, 3); + static Version CURRENT_DB_VERSION = new Version(1, 0, 0, 3); public static string InstanceName { get @@ -226,45 +226,91 @@ string strResult; //Verify that the AnywhereTS database exists - sqlCmd = new SqlCommand("select count(*) from master..sysdatabases where name='AnywhereTS'", sqlCon); - strResult = sqlCmd.ExecuteScalar().ToString(); - if (strResult == "0") - { - 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 + using (log4net.NDC.Push(string.Format("SQL STATMENT={0}", "select count(*) from master..sysdatabases where name='AnywhereTS'"))) { - sqlCon.Close(); - 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(); + Logging.ATSAdminLog.Debug("Getting Coount of AnywhereTS databases"); + sqlCmd = new SqlCommand("select count(*) from master..sysdatabases where name='AnywhereTS'", sqlCon); + strResult = sqlCmd.ExecuteScalar().ToString(); } - catch + Logging.ATSAdminLog.DebugFormat("AnywhereTS databases Count={0}", strResult); + + if (strResult == "0") { - // the database exists, but one or more tables are missing - try + + + using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateDatabase.ToString()))) { + Logging.ATSAdminLog.Debug("Creating Database AnywhereTS in CheckVersion()"); + sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master")); + sqlCon.Open(); + RunScript(Resource1.CreateDatabase.ToString()); + sqlCon.Close(); + } + Logging.ATSAdminLog.Debug("Created Database AnywhereTS in CheckVersion()"); + + using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateTables.ToString()))) + { + Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database in CheckVersion()"); sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master")); sqlCon.Open(); RunScript(Resource1.CreateTables.ToString()); sqlCon.Close(); + } + Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database in CheckVersion()"); + } + try + { + 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(); sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon); strResult = (string)sqlCmd.ExecuteScalar(); + sqlCon.Close(); + } + Logging.ATSAdminLog.DebugFormat("AnywhereTS database version={0}", strResult); + } + catch(SqlException ex) + { + // the database exists, but one or more tables are missing + 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()))) + { + Logging.ATSAdminLog.Error("Failed to get database version"); } - catch + try { + + using (log4net.NDC.Push(string.Format("SQL Statment={0}", Resource1.CreateTables.ToString()))) + { + Logging.ATSAdminLog.Debug("Creating Tables in AnywhereTS Database in CheckVersion()"); + sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master")); + sqlCon.Open(); + RunScript(Resource1.CreateTables.ToString()); + sqlCon.Close(); + } + Logging.ATSAdminLog.Debug("Created Tables in AnywhereTS Database in CheckVersion()"); + + 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(); + sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon); + strResult = (string)sqlCmd.ExecuteScalar(); + sqlCon.Close(); + } + Logging.ATSAdminLog.DebugFormat("AnywhereTS database version={0}", strResult); + } + catch(SqlException ex1) + { + 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()))) + { + Logging.ATSAdminLog.Error("Failed to get database version"); + } return (int)VersionCheck.Failed; } } @@ -285,11 +331,19 @@ 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 check database version"); + } return (int)VersionCheck.Failed; } catch (Exception system_ex) { MessageBox.Show(system_ex.Message.ToString()); + using (log4net.NDC.Push(string.Format("SqlException: MESSAGE={0}{1}Diagnostics:{1}{2}", system_ex.Message, System.Environment.NewLine, system_ex.ToString()))) + { + Logging.ATSAdminLog.Error("Failed to check database version"); + } return (int)VersionCheck.Failed; } }