我添加了一个安装类,下面是恢复数据库的方法,我是在网上找的方法,但对 exec p_RestoreDb 恢复是怎么回事,不太明月,是不是还要写一个这样的存储过程,这个存储过程又应该放在哪,如果我这个在一台没有安装SQL的机器上是不是就无法安装了???请各们大哥指教........ Try Dim connStr As String = String.Format("data source={0};user id={1};password={2};persist security info=false;packet size=4096", Me.Context.Parameters.Item("server"), Me.Context.Parameters.Item("user"), Me.Context.Parameters.Item("pwd")) '根据输入的数据库名称建立数据库 ExecuteSql(connStr, "master", "CREATE DATABASE " + Me.Context.Parameters.Item("dbname")) '向sql脚本语言写入 Dim fs As FileStream Dim bw As StreamWriter Dim strTemp As String fs = New FileStream(Me.Context.Parameters.Item("TARGETDIR") & "\webdb.sql", FileMode.Append) Dim enc As System.Text.Encoding enc = System.Text.Encoding.Unicode bw = New StreamWriter(fs, enc) 'bw.BaseStream.Seek(0, SeekOrigin.End) bw.WriteLine("exec p_RestoreDb '" & Me.Context.Parameters.Item("TARGETDIR") & "webdb_db.bak','" & Me.Context.Parameters.Item("dbname") & "',@a")
bw.Close() '调用osql执行脚本 Dim writeTableProcess As New System.Diagnostics.Process writeTableProcess.StartInfo.FileName = "osql.exe " writeTableProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d master -i {2}hdweb.sql", Me.Context.Parameters.Item("user"), Me.Context.Parameters.Item("pwd"), Me.Context.Parameters.Item("targetdir")) '可以执行的数据操作,可以根据用户输入的操作;
writeTableProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden writeTableProcess.Start() writeTableProcess.WaitForExit() '等待执行 writeTableProcess.Close() writeTableProcess.Dispose()
Catch ex As Exception Throw ex
bw.Close() '调用osql执行脚本 Dim writeTableProcess As New System.Diagnostics.Process writeTableProcess.StartInfo.FileName = "osql.exe " writeTableProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d master -i {2}hdweb.sql", Me.Context.Parameters.Item("user"), Me.Context.Parameters.Item("pwd"), Me.Context.Parameters.Item("targetdir")) '可以执行的数据操作,可以根据用户输入的操作;
writeTableProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden writeTableProcess.Start() writeTableProcess.WaitForExit() '等待执行 writeTableProcess.Close() writeTableProcess.Dispose()
Catch ex As Exception Throw ex
解决方案 »
- 谁会apache 里发布asp.net2.0的网站?
- SQL多表查询,各位大侠给看看
- NTKO office文档控件怎么用
- sql存储过程时间相减
- 散分~~ 下班后发现住处被盗,刚发的工资,丢了一个月的工资,郁闷
- 如何才能熟练掌握javascript呢
- 我是菜鸟``大家帮帮我吧!!!`````我只有100分给90啊```
- 哪位兄弟有r.a.d TreeView3.0 这个控件,帮忙发一个吧.重谢.
- 数据库连接问题(application?session?其他?)
- session变量的默认时间是多少!!!如何延长他们的时间!!
- 如何用prototype.js 做一个弹出层?
- 关于值类型和引用类型
就如同在代码中使用
select * from myTable下面是一个恢复数据库的方法,正在用.string SqlStr2 = "use master restore database " + ETong.ETongConn().Database + " from disk='" + this.lblBackUp.Text + "'";
SqlConnection con = ETong.ETongConn();
con.Open();
try
{
SqlCommand com = new SqlCommand(SqlStr2, con);
com.ExecuteNonQuery();
string m = "还原成功!";
ScriptManager.RegisterStartupScript(Page, this.GetType(), "", "alert('" + m + "');", true);
}
catch (Exception error)
{
string m = "数据库忙,还原失败,稍后再试!";
m += "\n" + error.ToString();
ScriptManager.RegisterStartupScript(Page, this.GetType(), "", "alert('" + m + "');", true);
}
finally
{
con.Close();
}