2010-04-17 2 views
0

В настоящее время у меня есть клиент/сервер, где клиент отправляет данные на сервер, а затем сервер сохраняет данные в файл базы данных SQLite. Для этого я использую транзакции, которые отлично работают в Windows 7, когда я запускаю около 30 клиентов (каждый клиент отправляет данные назад между 5-30 секундами).Использование транзакций SQLite Ошибка ввода-вывода

При использовании того же программного обеспечения в Windows XP, я могу получить/установить несколько раз данных без каких-либо проблем, пока я не работать около 20 клиентов, я начинаю для Windows Delayed написал неудачные ошибки: alt text http://files.me.com/james.ingham/on1qb1

Это пожары исключение на сервере: alt text http://files.me.com/james.ingham/hjoodv

Я предполагаю, что это либо связано с XP, либо с аппаратной проблемой на компьютере. Я запускаю XP.

Есть ли у кого-нибудь советы, чтобы избежать этого? Или, если я просто поймаю исключение и повторю попытку сохранения данных?

+0

Помогает ли это? http://support.microsoft.com/kb/330174 –

+0

Извините, у меня нет прав на изменение, что на машине мне нужно запустить это. Я буду тестировать свой код на виртуальной машине с XP, чтобы узнать, есть ли это XP или аппаратное обеспечение. –

ответ

0

Извините, что ответили на мой вопрос, но это была проблема с оборудованием! Просто заходите, если кто-то еще наступит!

1

Прошу простить это, но сам SQLite not recommended в высокой параллельной среде. Если у вас есть до 20 клиентов с транзакциями продолжительностью 5-30 секунд, вы наверняка поймаете тайм-аут (по умолчанию это 5 секунд в SQLite), так как SQLite в основном заменяет fopen.

+0

Спасибо за ответ, но это часть проекта, над которым я работаю с конкретными требованиями. Я упомянул об этом в начале, но spec указывает, что мы должны использовать db, который не требуется устанавливать. Также транзакции не продолжаются 5-30 секунд, данные отправляются каждые 5-30 секунд на каждого клиента. Обычно транзакции обрабатываются очень быстро, но это аппаратное обеспечение (я думаю), которое замедляет это на определенных машинах ... –

+0

@ james.ingham: тогда, извините еще раз. Кстати, интересно, почему вы не использовали MS SQL Compact в контексте .NET-разработки (http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx) – newtover

+0

Я не пробовал но, похоже, вам нужно его установить? У меня нет прав администратора для демонстрационной машины, поэтому SQLite идеально подходит только для DLL, которую я должен включить. –

Смежные вопросы