我正在将VB.NET与SQL Server 2012 Express一起使用在软件中。
我提供了使用以下代码从应用程序本身获取数据库备份的工具
using System.Linq;
运行上述代码时,不会创建备份文件,也不会显示错误。
如果我在SQL Server Management Studio中使用T-SQL运行Dim con = New SqlConnection("Data Source=.\SQLEXPRESS;Database=Master;User id=sa;password=admin;")
con.Open()
Dim str as string="backup database OFFICEMANAGEMENT to disk='C:\OM.bak'"
Dim cmd as new SqlCommand(str,con)
cmd.ExecuteNonQuery
con.Close()
命令,则备份文件已成功创建。
任何人都可以帮忙吗?
谢谢
答案 0 :(得分:0)
您应按以下步骤更改代码
T-SQL语句应包含“ WITH INIT”关键字。如果您多次执行代码,则BAK文件将继续增长。
所以,尝试这个
Using con = New SqlConnection("Data Source=.\SQLEXPRESS;User id=sa;password=admin;")
con.Open()
Dim str As String = "backup database OFFICEMANAGEMENT to disk='C:\TMP\OM.bak' WITH INIT"
Using cmd = New SqlCommand(str, con)
cmd.ExecuteNonQuery()
End Using
con.Close()
End Using