0

在关闭用 VB 编写的应用程序时,我需要复制.sdf文件,这是与服务器同步的本地 SQL Server CE 数据库。每次我们关闭应用程序时,我们都需要进行备份。

我正在使用该file.copy方法。首先,我关闭与数据库的连接,然后将文件复制到特定位置。

Dim conn As SqlCeConnection = New SqlCeConnection(My.Settings.MyClientConnectionString)
conn.Open()
conn.Close()

Dim tpath As String = My.Settings.CertPath 
Dim path As String = tpath.Replace("db\", "MyDatabase.sdf")
Dim fs As FileStream = File.Create(path)
fs.Close()
File.Delete("C:\db\backup\MyDatabase.sdf")
File.Copy(path, "C:\db\backup\MyDatabase.sdf")

问题出现在代码行:

Dim fs As FileStream = File.Create(path)

数据库损坏,大小为 0 kb。

有没有人见过这个?谢谢

4

1 回答 1

1

您是在现有数据库文件上调用 Create 吗?根据文档, Create创建或覆盖指定路径中的文件。在您显示的代码中,无论如何都不需要调用 Create 。只需调用 File.Copy。

于 2013-07-22T13:21:35.107 回答