2013-07-05 2 views
0

Я работаю с CSV-файлом в моем проекте. Несколько пользователей могут открывать и читать + записывать CSV-файл через соединение ADODB. Но я столкнулся с проблемой, когда на нее работают несколько пользователей, таких как более 10 пользователей, тогда приложение перестает работать, есть ли предел для чтения файла несколькими пользователями? , и когда несколько пользователей работают над ним, становится медленнее читать + записывать данные из CSV-файлов.Несколько пользователей, работающих с одним файлом CSV

Не могли бы вы помочь мне исправить это.

Спасибо.

+0

Почему бы не использовать базу данных? – MarkJ

ответ

1

Для текстовых файлов не существует механизма управления параллельным доступом, кроме блокировки целых файлов. Проблема в том, что текстовые файлы нецелесообразно обновлять на месте: единственный способ внести изменения - это переписать весь файл. Да, диапазоны байтов могут быть заблокированы, но это не практическая стратегия для текстового файла.

Похоже, вы используете текстовый IISAM Jet Text или старый старый текстовый драйвер ODBC. Они никогда не поддерживали совместное использование и не предлагали контроль над параллелизмом, кроме блокировки всего файла.

Открытие только для чтения может предлагать более полное совместное использование файлов, которые, конечно, не изменяются.

Я не могу придумать никаких «пределов», как вы спекулируете. Скорее всего, у вас будет больше заблокированных конфликтов файлов, если у вас больше клиентов.

0

Существует ограничение, наложенное Windows на количество одновременных соединений. Это зависит от версии для Windows, ограничение для Windows XP составляет 10, а ограничение для Windows 7 - 20. (одновременные подключения для обмена файлами и принтерами, службы IIS, ICS и телефонии)

Ограничения для Windows Server значительно выше версии

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