/[AnywhereTS-MSSQL]/trunk/AnywhereTS.DBSupport/SqlMdfConnector.cs
ViewVC logotype

Diff of /trunk/AnywhereTS.DBSupport/SqlMdfConnector.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- trunk/AnywhereTS.DBSupport/SqlMdfConnector.cs	2012/07/13 21:10:26	85
+++ trunk/AnywhereTS.DBSupport/SqlMdfConnector.cs	2012/07/14 13:16:38	130
@@ -2,7 +2,8 @@
 using System.Collections.Generic;
 using System.Text;
 using System.Data.SqlClient;
-
+using System.Linq;
+using System.Text.RegularExpressions;
 namespace AnywhereTS.DBSupport
 {
     public class SqlMdfConnector : DBConnector<SqlParameter, SqlCommand, SqlConnection, SqlDataAdapter>
@@ -15,12 +16,41 @@
             try
             {
                 string connetionString = null;
-                connetionString = string.Format(@"Data Source={0}\{1};;AttachDbFilename=|DataDirectory|\{2};Integrated Security=SSPI", DBServerAddress, DBServerInstance, DBDatabase);
+                connetionString = GetConnectionString();
                 connection = new SqlConnection();
                 connection.ConnectionString = connetionString;
             }
             //catch (SqlException ex) { Console.WriteLine(ex.ToString()); ErrorInfo = ex;  throw ErrorInfo;}
             catch (Exception ex) { Console.WriteLine(ex.ToString()); ErrorInfo = ex; throw ErrorInfo; }
         }
+
+        new public static string GetConnectionString()
+        {
+            return string.Format(@"Data Source={0}\{1};AttachDbFilename=|DataDirectory|\{2};Integrated Security=SSPI", DBServerAddress, DBServerInstance, DBDatabase);
+        }
+
+        protected override bool ClientRunScript(string strFile, out Exception ErrorInfo)
+        {
+            ErrorInfo = null;
+            try
+            {
+                var commands = Regex.Split(strFile, string.Format(@"^GO{0}", System.Environment.NewLine), RegexOptions.IgnoreCase | RegexOptions.Multiline);
+                foreach (var command in commands)
+                {
+                    Logging.DatabaseLog.DebugFormat("Current Command={0}", command);
+                    SqlCommand sqlcmd = new SqlCommand(command, this.connection);
+                    sqlcmd.CommandType = System.Data.CommandType.Text;
+                    if (ErrorInfo != null)
+                        throw ErrorInfo;
+                    sqlcmd.ExecuteNonQuery();
+                }
+                return true;
+            }
+            catch (Exception ex)
+            {
+                ErrorInfo = ex;
+                return false;
+            }
+        }
     }
 }

 

  ViewVC Help
Powered by ViewVC 1.1.22