web版的sql server附加器
其实现在软件或web应用程序好多都要sql server, 本来对程序员用企业管理器就可以附加进去;
这个附加器打开web页而就可以进行附加,只要把该页嵌入到站点下,就可以实现与企业管理器相同的功能!
该附加器主要针对mdf和日志文件进行附加;
只需选择mdf日志文件程序自动查找!
![]()
完整代码
源代码下载
这个附加器打开web页而就可以进行附加,只要把该页嵌入到站点下,就可以实现与企业管理器相同的功能!
该附加器主要针对mdf和日志文件进行附加;
只需选择mdf日志文件程序自动查找!

完整代码
源代码下载
1
1using System;
2
2using System.Data;
3
3using System.Configuration;
4
4using System.Web;
5
5using System.Web.Security;
6
6using System.Web.UI;
7
7using System.Web.UI.WebControls;
8
8using System.Web.UI.WebControls.WebParts;
9
9using System.Web.UI.HtmlControls;
10
10using System.Data.SqlClient;
11
11using System.IO;
12
12public partial class _Default : System.Web.UI.Page
13
13{
14
14 public string sqlServer;
15
15 public string uid;
16
16 public string pwd;
17
17 public string sqlstr;
18
18 protected void Page_Load(object sender, EventArgs e)
19
19 {
20
20
21
21 }
22
22 protected void btnStup_Click(object sender, EventArgs e)
23
23 {
24
24 string fileExtend = Path.GetExtension(File_MDF.PostedFile.FileName);//获取扩展名
25
25 string file_Name = Path.GetFileName(File_MDF.PostedFile.FileName); //获取文件名
26
26
27
27 if (fileExtend.ToUpper().CompareTo(".MDF") == 0)
28
28 {
29
29 // Response.Write(fileExtend.ToString()+"<br>名:"+file_Name.ToString()+"<br>"+File_MDF.Value);
30
30 string fileName=file_Name.Substring(0,file_Name.LastIndexOf("_",file_Name.Length));//得到正确名称
31
31 string logname = File_MDF.Value.Substring(0, File_MDF.Value.LastIndexOf("_",File_MDF.Value.Length)) + "_Log.LDF";
32
32 string logname1 = File_MDF.Value.Substring(0, File_MDF.Value.LastIndexOf("_",File_MDF.Value.Length)) + "_log.ldf";
33
33 if (File.Exists(logname)||File.Exists(logname1))
34
34 {
35
35 if (rdosql.Checked)
36
36 {
37
37 sqlServer = "server=" + txtServer.Text + ";User id=" + txtuid.Text + ";Pwd=" + txtpwd.Text + "";
38
38 }
39
39 else
40
40 {
41
41 sqlServer = "server=" + txtServer.Text + ";uid="+uid+"";
42
42 }
43
43 SqlConnection sqlCon = new SqlConnection(sqlServer);
44
44 sqlCon.Open();
45
45 try
46
46 {
47
47 string str = "EXEC sp_attach_db @dbname=N'" + fileName + "',@filename1=N'" + File_MDF.Value + "',@filename2=N'" + logname + "'";
48
48 SqlCommand cmd = new SqlCommand(str, sqlCon);
49
49 cmd.ExecuteNonQuery();
50
50 }
51
51 catch (SqlException exc)
52
52 {
53
53 if (chkAppend.Checked)
54
54 {
55
55 SqlCommand cmd1 = new SqlCommand("EXEC sp_detach_db @dbname='" + fileName + "';" + "EXEC sp_attach_single_file_db @dbname='" + fileName + "',@physname='" + File_MDF.Value + "'", sqlCon);
56
56 cmd1.ExecuteNonQuery();
57
57 Response.Write("<script>alert('数据附加成功!');</script>");
58
58 }
59
59 else
60
60 {
61
61 Response.Write("<script>alert('数据库未能安装成功 提示:将原有的数据库分离');</script>");
62
62 }
63
63 }
64
64 finally
65
65 {
66
66 if (sqlCon.State == ConnectionState.Open)
67
67 sqlCon.Close();
68
68 //搞定,收工!
69
69 }
70
70
71
71 }
72
72 else
73
73 {
74
74 Response.Write("<script>alert('警告,找不到相应的日志文件!');</script>");
75
75 }
76
76 }
77
77 else
78
78 {
79
79 Response.Write("<script>alert('选择文件有误!');</script>");
80
80 }
81
81 }
82
82 protected void rdosql_CheckedChanged(object sender, EventArgs e)
83
83 {
84
84 uid = txtuid.Text;
85
85 pwd = txtpwd.Text;
86
86 }
87
87 protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
88
88 {
89
89 uid = "integrated security=true;";
90
90 }
91
91}
92
92
不应该发布在首页,有不对的,请各位高手指点!
1using System;2
2using System.Data;3
3using System.Configuration;4
4using System.Web;5
5using System.Web.Security;6
6using System.Web.UI;7
7using System.Web.UI.WebControls;8
8using System.Web.UI.WebControls.WebParts;9
9using System.Web.UI.HtmlControls;10
10using System.Data.SqlClient;11
11using System.IO;12
12public partial class _Default : System.Web.UI.Page 13
13{14
14 public string sqlServer;15
15 public string uid;16
16 public string pwd;17
17 public string sqlstr;18
18 protected void Page_Load(object sender, EventArgs e)19
19 {20
20 21
21 }22
22 protected void btnStup_Click(object sender, EventArgs e)23
23 {24
24 string fileExtend = Path.GetExtension(File_MDF.PostedFile.FileName);//获取扩展名25
25 string file_Name = Path.GetFileName(File_MDF.PostedFile.FileName); //获取文件名26
26 27
27 if (fileExtend.ToUpper().CompareTo(".MDF") == 0)28
28 {29
29 // Response.Write(fileExtend.ToString()+"<br>名:"+file_Name.ToString()+"<br>"+File_MDF.Value); 30
30 string fileName=file_Name.Substring(0,file_Name.LastIndexOf("_",file_Name.Length));//得到正确名称31
31 string logname = File_MDF.Value.Substring(0, File_MDF.Value.LastIndexOf("_",File_MDF.Value.Length)) + "_Log.LDF";32
32 string logname1 = File_MDF.Value.Substring(0, File_MDF.Value.LastIndexOf("_",File_MDF.Value.Length)) + "_log.ldf";33
33 if (File.Exists(logname)||File.Exists(logname1))34
34 {35
35 if (rdosql.Checked)36
36 {37
37 sqlServer = "server=" + txtServer.Text + ";User id=" + txtuid.Text + ";Pwd=" + txtpwd.Text + "";38
38 }39
39 else40
40 {41
41 sqlServer = "server=" + txtServer.Text + ";uid="+uid+"";42
42 }43
43 SqlConnection sqlCon = new SqlConnection(sqlServer);44
44 sqlCon.Open();45
45 try46
46 {47
47 string str = "EXEC sp_attach_db @dbname=N'" + fileName + "',@filename1=N'" + File_MDF.Value + "',@filename2=N'" + logname + "'";48
48 SqlCommand cmd = new SqlCommand(str, sqlCon);49
49 cmd.ExecuteNonQuery();50
50 }51
51 catch (SqlException exc)52
52 {53
53 if (chkAppend.Checked)54
54 {55
55 SqlCommand cmd1 = new SqlCommand("EXEC sp_detach_db @dbname='" + fileName + "';" + "EXEC sp_attach_single_file_db @dbname='" + fileName + "',@physname='" + File_MDF.Value + "'", sqlCon);56
56 cmd1.ExecuteNonQuery();57
57 Response.Write("<script>alert('数据附加成功!');</script>");58
58 }59
59 else60
60 {61
61 Response.Write("<script>alert('数据库未能安装成功 提示:将原有的数据库分离');</script>");62
62 }63
63 }64
64 finally65
65 {66
66 if (sqlCon.State == ConnectionState.Open)67
67 sqlCon.Close(); 68
68 //搞定,收工!69
69 }70
70 71
71 }72
72 else73
73 {74
74 Response.Write("<script>alert('警告,找不到相应的日志文件!');</script>");75
75 }76
76 }77
77 else78
78 {79
79 Response.Write("<script>alert('选择文件有误!');</script>");80
80 }81
81 }82
82 protected void rdosql_CheckedChanged(object sender, EventArgs e)83
83 {84
84 uid = txtuid.Text;85
85 pwd = txtpwd.Text;86
86 }87
87 protected void RadioButton1_CheckedChanged(object sender, EventArgs e)88
88 {89
89 uid = "integrated security=true;";90
90 }91
91}92
92



浙公网安备 33010602011771号