Синхронизация ADO.Net и SQL CE - PullRequest
1 голос
/ 20 февраля 2009

Я успешно синхронизировал как исходный, так и локальный базы данных, используя элемент кэша локальной базы данных в VS 2008.

Однако мне нужно получить доступ к базе данных SQL CE напрямую из другого dll / процесса и без использования набора данных. Причина в том, что мой код бизнес-объекта не использует наборы данных.

Окончательный код будет выглядеть примерно так:

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 напрямую возвращает старые данные - никаких синхронизированных данных вообще нет.

Чего мне не хватает? Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 20 февраля 2009

Разобрался!

Забыл, что CE находится в процессе, поэтому он копирует файл базы данных (.sdf) в папку Debug. Вы должны ссылаться на эту базу данных, а не на ту, которая есть в вашем проекте. DOH!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...