Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблемы при открытии базы MS SQL CE 3.5  [new]
logicman
Member

Откуда: Екатеринбург
Сообщений: 4
Доброго времени суток!

Веду разработку на мобильном терминале WindowsCe 6.0 с базой данных MS SQL CE 3.5 под .NET CF 3.5.
Суть работы такова: приложение на терминале соединяется по сокету с серверной частью и загружает файл базы данных file.sdf (генерируется динамически на сервере с помощью SqlCeEngine, затем заполняется данными). Затем приложение открывает соединение с этой базой с помощью SqlCeConnection.Open().
А дальше бывает два варианта:
1) штатный случай - соединение с базой успешно устанавливается
2) в момент вызова метода SqlCeConnection.Open() рядом со скаченным файлом file.sdf появляется файл sqlXXX.tmp (XXX - произвольные циферки). Файл несколько минут растет до нескольких десятков мегабайт. Затем в течение некоторого времени идет существенное увеличение размера файла file.sdf (со 136 Мб до 168 Мб). И только после всех этих действий (которые происходят минут 15) соединение открывается и продолжается штатная работа.
При этом, в 1 и 2 вариантах с сервера загружаются файлы с одинаковым набором данных, видимых отличий в условиях работы нет.

Единственная закономерность, которая наблюдается (хотя я допускаю, что это лишь случайное совпадение) - в 1 случае используется сервер под управлением Windows XP, во втором - Windows 7.

Из-за чего это происходит?
13 янв 12, 07:18    [11896728]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при открытии базы MS SQL CE 3.5  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
logicman
в момент вызова метода SqlCeConnection.Open() рядом со скаченным файлом file.sdf появляется файл sqlXXX.tmp
Вы уверены, кроме Open никакого кода не исполняется?

В штатном варианте такой файл не появляется (пусть меньшего размера)?
13 янв 12, 08:06    [11896759]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при открытии базы MS SQL CE 3.5  [new]
logicman
Member

Откуда: Екатеринбург
Сообщений: 4
alexeyvg,

Кроме open() точно ничего не происходит. Я под отладчиком проверял.

В штатном режиме может и появляется tmp-файл, но это происходит очень быстро (возможно небольшого размера) и он сразу удаляется.
13 янв 12, 09:15    [11896940]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при открытии базы MS SQL CE 3.5  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
logicman
alexeyvg,

Кроме open() точно ничего не происходит. Я под отладчиком проверял.

В штатном режиме может и появляется tmp-файл, но это происходит очень быстро (возможно небольшого размера) и он сразу удаляется.
Народ пишет о появлении таких файлов, но времени это много не занимает...

Видимо, это у SQL CE вроде файла лога (сам я с ним не работал, могу только предполагать, но тут с CE вообще мало кто имеет опыт).

Дело скорее всего в разном формаировании файлов базы, что то в них отличается :-(
13 янв 12, 09:28    [11897004]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при открытии базы MS SQL CE 3.5  [new]
logicman
Member

Откуда: Екатеринбург
Сообщений: 4
Кажется я нашел причину: http://blogs.msdn.com/b/sqlservercompact/archive/2009/04/01/after-moving-the-database-from-one-platform-to-other-the-first-sqlceconnection-open-takes-more-time.aspx

Теперь вопрос в том, как это обойти...
15 янв 12, 13:56    [11906609]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при открытии базы MS SQL CE 3.5  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
logicman
Кажется я нашел причину: http://blogs.msdn.com/b/sqlservercompact/archive/2009/04/01/after-moving-the-database-from-one-platform-to-other-the-first-sqlceconnection-open-takes-more-time.aspx

Теперь вопрос в том, как это обойти...
Может, сразу готовить файл в версиях для всех нужных платформ и отправлять клиенту правильную? Или смириться с увеличением времени первого открытия (хотя 15 минут - это многовато).
15 янв 12, 15:01    [11906773]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы при открытии базы MS SQL CE 3.5  [new]
logicman
Member

Откуда: Екатеринбург
Сообщений: 4
alexeyvg,

Фактически меня интересует только одна платформа. Проблема в том, что файлы базы данных генерируются и заполняются на лету, а у клиентов на сервере хоть какая система может быть установлена. И насколько я понял, при создании базы никак не указать интересующий меня NLS.
16 янв 12, 07:29    [11908535]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить