/[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 21 by william, Wed Jul 11 19:34:51 2012 UTC revision 33 by william, Thu Jul 12 10:52:05 2012 UTC
# Line 6  using System.Data.SqlClient; Line 6  using System.Data.SqlClient;
6  using System.Windows.Forms;  using System.Windows.Forms;
7  using System.Text.RegularExpressions;  using System.Text.RegularExpressions;
8  using System.Management;  using System.Management;
9    using log4net;
10    
11  namespace AnywhereTS  namespace AnywhereTS
12  {  {
13      class DatabaseSupport      class DatabaseSupport
14      {      {
15            private readonly ILog logger = LogManager.GetLogger("AnywhereTS.ATSAmdinLogger");
16          enum VersionCheck          enum VersionCheck
17          {          {
18              Failed = 0,              Failed = 0,
# Line 47  namespace AnywhereTS Line 49  namespace AnywhereTS
49          {          {
50              bool bContinue = false;              bool bContinue = false;
51              // Create a connection to SQL Server              // Create a connection to SQL Server
52                logger.Debug("SetupDatabase() called ");
53              try              try
54              {              {
55                  sqlCon.ConnectionString = Properties.Settings.Default.atsConnectionString;                  sqlCon.ConnectionString = Properties.Settings.Default.atsConnectionString;
# Line 59  namespace AnywhereTS Line 62  namespace AnywhereTS
62                  //bCreateDB = true;                  //bCreateDB = true;
63                  try                  try
64                  {                  {
                     try  
                     {  
                         sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);  
                         sqlCon.Open();  
                         RunScript("DROP AnywhereTS");  
                         sqlCon.Close();  
                     }  
                     catch { }  
   
65                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
66                      sqlCon.Open();                      sqlCon.Open();
67                      RunScript(Resource1.CreateDatabase.ToString());                      RunScript(Resource1.CreateDatabase.ToString());
68                      sqlCon.Close();                      sqlCon.Close();
69                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
70                      sqlCon.Open();                      sqlCon.Open();
71                        RunScript(Resource1.CreateTables.ToString());
72                        sqlCon.Close();
73                        //sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
74                        //sqlCon.Open();
75                  }                  }
76                  catch (SqlException sql_ex1)                  catch (SqlException sql_ex1)
77                  {                  {
# Line 197  namespace AnywhereTS Line 195  namespace AnywhereTS
195    
196                  if (strResult == "0")                  if (strResult == "0")
197                  {                  {
   
198                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
199                      sqlCon.Open();                      sqlCon.Open();
200                      RunScript(Resource1.CreateDatabase.ToString());                      RunScript(Resource1.CreateDatabase.ToString());
201                      sqlCon.Close();                      sqlCon.Close();
                 }  
                 else  
                 {  
                     sqlCon.Close();  
202                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
203                      sqlCon.Open();                      sqlCon.Open();
204                      RunScript("DROP DATABASE AnywhereTS");                      RunScript(Resource1.CreateTables.ToString());
                     sqlCon.Close();  
                     sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));  
                     sqlCon.Open();  
                     RunScript(Resource1.CreateDatabase.ToString());  
205                      sqlCon.Close();                      sqlCon.Close();
206                  }                  }
   
207                  try                  try
208                  {                  {
209                      sqlCon.Close();                      sqlCon.Close();
210                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);                      sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
211                        sqlCon.Open();
212                      sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);                      sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);
213                      strResult = (string)sqlCmd.ExecuteScalar();                      strResult = (string)sqlCmd.ExecuteScalar();
214                        sqlCon.Close();
215                  }                  }
216                  catch                  catch
217                  {                  {
218                      // database exists, but does not have one or more expected tables                      // the database exists, but one or more tables are missing
219                      try                      try
220                      {                      {
                         sqlCon.Close();  
221                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));
222                          sqlCon.Open();                          sqlCon.Open();
223                          RunScript("DROP DATABASE AnywhereTS");                          RunScript(Resource1.CreateTables.ToString());
224                          sqlCon.Close();                          sqlCon.Close();
                         sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString.Replace("AnywhereTS", "master"));  
                         sqlCmd.Connection = sqlCon;  
                         sqlCmd.CommandText = Resource1.CreateDatabase.ToString();  
                         sqlCmd.ExecuteNonQuery();  
                         sqlCon.Close();  
   
225                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);                          sqlCon = new SqlConnection(Properties.Settings.Default.atsConnectionString);
226                            sqlCon.Open();
227                          sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);                          sqlCmd = new SqlCommand("SELECT value from AnywhereTS..AppInfo where property='version'", sqlCon);
228                          strResult = (string)sqlCmd.ExecuteScalar();                          strResult = (string)sqlCmd.ExecuteScalar();
229                      }                      }
230                      catch { return (int)VersionCheck.Failed; }                      catch
231                        {
232                            return (int)VersionCheck.Failed;
233                        }
234                  }                  }
235                  vDb = new Version(strResult);                  vDb = new Version(strResult);
236                        

Legend:
Removed from v.21  
changed lines
  Added in v.33

  ViewVC Help
Powered by ViewVC 1.1.22