VS 2008 のローカル データベース キャッシュ項目を使用して、ソース データベースとローカル データベースの両方を正常に同期しました。
ただし、データセットを使用せずに、別の dll/プロセス内から SQL CE db に直接アクセスする必要があります。その理由は、私のビジネス オブジェクト コードがデータセットを使用していないからです。
最終的なコードは次のようになります。
Dim conn As New SqlServerCe.SqlCeConnection("Data Source=C:\Development\UserDirectory\UserDirectory.DBSyncher\ProfDir.sdf;Persist Security Info=False;")
Dim cmd As New SqlServerCe.SqlCeCommand("Select EmailAddress from Employees Where ID=23", conn)
Dim returnString As String = ""
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
returnString = cmd.ExecuteScalar
conn.Close()
cmd = Nothing
同期された変更が表示されているデータセットを使用して非常に奇妙なことに気付きましたが、CE データベース ファイルに直接アクセスすると古いデータが返されます。同期されたデータはまったくありません。
私は何が欠けていますか?どんな助けでも大歓迎です。