私のアプリケーションでバックアップおよび復元機能を作成しようとしています。今、私はこのコードを持っています。MSSQLLocalDb VB.NETでのデータベースバックアップ
Dim destdir As String = "C:\Desktop\Backup Database"
Dim dbname As String = "dbOffense"
'Metioned here your database name
Dim con As New SqlConnection(constr)
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim dt As New DataTable()
'Check that directory already there otherwise create
If Not System.IO.Directory.Exists(destdir) Then
System.IO.Directory.CreateDirectory("C:\Desktop\Backup Database")
End If
Try
'Open connection
con.Open()
'query to take backup database
cmd = New SqlCommand("backup database " + dbname + " to disk='" + destdir + "\\" + DateTime.Now.ToString("ddMMyyyy_HHmmss") + ".Bak'", con)
cmd.ExecuteNonQuery()
'Close connection
con.Close()
MessageBox.Show("Backup database successfully")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
そしてまた私の接続文字列:
<add name="ConString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\dbOffense.mdf;Integrated Security=True;Connect Timeout=30;"
providerName="System.Data.SqlClient" />
.mdfファイルファイルがプロジェクトフォルダにあり、これは任意の助けであれば、それはCopy If Newer
に設定されています。
アプリケーションでバックアップ機能をクリックするたびにエラーが発生します。それはそれで
dbOffense does not exist
を言う、私は、接続文字列にdatabase=dbOffense
を追加しようとしたが、それは私が立ち往生しています。そこから
Unable to attach the .mdf file as database dbOffense because the .mdf file copy in the bin/Debug folder is in use.
を言います。私は何をすべきか?
なぜデータベースファイルバックアップして復元するときは?コピー時にファイル名を指定することはできます。 –
データベースファイルを実際にコピーするのではなく、.bakファイルを作る予定でした。もし私がそれをしたら、どうやってそれをするのですか? – NoobCoder