ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/AnywhereTS-MSSQL/trunk/AnywhereTS.DBSupport/SqlMdfConnector.cs
Revision: 128
Committed: Sat Jul 14 13:01:52 2012 UTC (10 years, 10 months ago) by william
File size: 2257 byte(s)
Log Message:
+ fix RunScript ==> CommandType must be set to Text

File Contents

# Content
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Data.SqlClient;
5 using System.Linq;
6 using System.Text.RegularExpressions;
7 namespace AnywhereTS.DBSupport
8 {
9 public class SqlMdfConnector : DBConnector<SqlParameter, SqlCommand, SqlConnection, SqlDataAdapter>
10 {
11 public SqlMdfConnector(string DBServerAddress, string DBServerInstance, string SqlMdf) : base(DBServerAddress, DBServerInstance, SqlMdf) { }
12
13 public override void CreateConnection(out Exception ErrorInfo)
14 {
15 ErrorInfo = null;
16 try
17 {
18 string connetionString = null;
19 connetionString = GetConnectionString();
20 connection = new SqlConnection();
21 connection.ConnectionString = connetionString;
22 }
23 //catch (SqlException ex) { Console.WriteLine(ex.ToString()); ErrorInfo = ex; throw ErrorInfo;}
24 catch (Exception ex) { Console.WriteLine(ex.ToString()); ErrorInfo = ex; throw ErrorInfo; }
25 }
26
27 new public static string GetConnectionString()
28 {
29 return string.Format(@"Data Source={0}\{1};AttachDbFilename=|DataDirectory|\{2};Integrated Security=SSPI", DBServerAddress, DBServerInstance, DBDatabase);
30 }
31
32 protected override bool ClientRunScript(string strFile, out Exception ErrorInfo)
33 {
34 ErrorInfo = null;
35 try
36 {
37 var commands = Regex.Split(strFile, string.Format(@"^GO${0}", System.Environment.NewLine), RegexOptions.IgnoreCase | RegexOptions.Multiline);
38 foreach (var command in commands)
39 {
40 SqlCommand sqlcmd = this.CreateCommandInstance(command, new List<SqlParameter>(), out ErrorInfo);
41 sqlcmd.CommandType = System.Data.CommandType.Text;
42 if (ErrorInfo != null)
43 throw ErrorInfo;
44 sqlcmd.ExecuteNonQuery();
45 }
46 return true;
47 }
48 catch (Exception ex)
49 {
50 ErrorInfo = ex;
51 return false;
52 }
53 }
54 }
55 }