Sql ce 3.0 База данных многопользовательская - PullRequest
1 голос
/ 02 июня 2009

Я пытаюсь получить доступ к базе данных Sql CE 2005 на устройстве Windows Mobile из двух разных приложений.

Из информации, которую я нашел в сети, она должна работать, но при открытии второго соединения появляется ошибка нарушения обмена файлами

"There is a file sharing violation. A different process might be using the file. [ \\\Program Files\xx\DB.sdf ]"

Есть идеи, что я делаю не так?

Ответы [ 5 ]

3 голосов
/ 02 июня 2009

SQL Compact поддерживает несколько подключений к базе данных , даже с версией 3.0 . Как первый процесс открывает базу данных? Например, мобильный Query Analyzer из 3.0 и 3.1 действительно открывал базу данных исключительно, эффективно блокируя ее от любого другого процесса.

3 голосов
/ 16 июля 2009

Проблема была в строке подключения .....

"Data Source=\\\Program Files\xx\DB.sdf", по-видимому, открывает базу данных как один пользователь

с использованием

"Data Source=Program Files\xx\DB.sdf" открывает базу данных нормально ...

0 голосов
/ 06 декабря 2012

ref: http://msdn.microsoft.com/en-us/library/ms171750.aspx

// В SQL Server Compact вы можете запускать несколько одновременных приложений , которые обращаются к различным наборам данных или изменяют их.

Причина, по которой многие люди вводят в заблуждение, я думаю, заключается в том, что sql ce поддерживает несколько соединений, они используют его для senarios для изменения одного и того же набора данных с несколькими соединениями, которые SQL Server CE не поддерживает.

Надеюсь, это поможет!

0 голосов
/ 14 июля 2010

SQLCE 4 Community Technology Preview отсутствует. Он поддерживает многопользовательский сценарий и доступ из нескольких потоков одного и того же процесса.

Он не страдает от тех же проблем, что и SQlCE 3.5. Хорошо работает на 256 соединениях.

0 голосов
/ 02 июня 2009

Это тот же процесс, который использует несколько потоков для доступа к этому файлу sdf или только один поток. Когда он говорит, что какой-то другой «ПРОЦЕСС» обращается к файлу, что это? Это VS или что-то еще. Я думаю, что вы можете использовать удаленный просмотрщик процессов, чтобы увидеть, какие процессы в устройстве используют этот файл SDF. Если бы вы могли видеть отдельно, какие ручки для каких процессов в устройстве, это было бы здорово. Даже в противном случае, попробуйте удалить файл sdf (или переместить / переименовать его), после того, как вы убили некоторые процессы на рабочем столе. Это может сказать вам, что является оскорбительным процессом.

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