2013-07-22 2 views
0

VB로 작성된 응용 프로그램을 닫을 때 .sdf 파일을 복사해야합니다.이 파일은 서버와 동기화되는 로컬 SQL Server CE 데이터베이스입니다. 앱을 종료 할 때마다 백업을해야합니다.SQL Server Compact Edition의 백업 데이터베이스를 손상시킵니다.

나는 file.copy 방법을 사용하고 있습니다. 먼저 데이터베이스 연결을 닫은 다음 파일을 특정 위치에 복사합니다.

Dim fs As FileStream = File.Create(path) 

데이터베이스가 손상되고 0킬로바이트의 크기를 갖는다 :

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") 

문제는 코드 라인에서 발생한다.

이전에 본 사람이 있습니까? 감사합니다

답변

1

당신은 에 존재하는 데이터베이스 파일을 만듭니다? 문서에 따르면 은 지정된 경로의 파일을 작성하거나 덮어 씁니다. 표시하는 코드에서 Create를 호출하는 것은 필요하지 않습니다. File.Copy를 호출하면됩니다.

+0

예 기존 데이터베이스 파일을 복사하려고합니다. 나는 먼저 창조물을 필요로한다고 생각했다. 고맙습니다!! – redned

관련 문제