Форум » [x]Harbour » Harbour-DBF и Windows 2008 Server SP2 - что делать? » Ответить

Harbour-DBF и Windows 2008 Server SP2 - что делать?

Dr. Oldwarez: Как я уже говорил, при увеличении размера DBF-файлов выше определённого предела, база данных DBF начинает зависать при работе в режиме клиент-сервер, если к ней обращается более одного клиента. Были испробованы все возможные трюки с Виндой, обратились уже в службу поддержки Мелкософта. И те ответили, что DBF-формат тупо устарел и больше не поддерживается. Но обычные клиент-сервер системы не имеют важной для шефа переносимости. Они требуют устанавливать базу данных через довольно сложный инсталлятор. При этом на компьютере обязательно остаётся какая-нибудь прога, вроде Borland Database Engine (для обычно употребляемого в таких случаях) Дельфина. SQLITE с сетью также не дружит. Хотя сеть не очень большая - всего 4 клиента и сервер. Postgress - это уже для более крупных сетей. Что же выбрать, исходя из вышеуказанных данных? Как подключить DBF, минуя всякие Borland Database Engine, Microsoft Jet и т. д. чтобы оно не зависало в Windows 2008?

Ответов - 14

AlexMyr: Dr. Oldwarez пишет: Как подключить DBF, минуя всякие Borland Database Engine, Microsoft Jet и т. д. чтобы оно не зависало в Windows 2008? Если временно удалить эти компоненты, то как поведет себя прога?

Pasha: Dr. Oldwarez пишет: база данных DBF начинает зависать при работе в режиме клиент-сервер, если к ней обращается более одного клиента. Это опечатка ? Наверное, имеется в виду файл-сервер ? При выполнении каких операций происходит зависание ? Ну а ответ то очевиден. Надо использовать клиент-сервер для dbf, ads или letodb.

azoo: Dr. Oldwarez, что-то подобное иногда я наблюдал у себя. Программа на Delphi выдавала какую-то ошибку. На форумах нашлось решение, заключающееся в следующем: Свободное место на сетевом серверном диске не должно быть кратно 4 Гб (или 8 ?). Скопировал .avi 1.4 Гб на сетевой диск и программа стала работать. Удивительно но это так.


Andrey: Dr. Oldwarez пишет: ри увеличении размера DBF-файлов выше определённого предела, база данных DBF начинает зависать при работе в режиме клиент-сервер, если к ней обращается более одного клиента. Очень удивительно ! Какой размер базы и сколько записей в базе ? Здесь на форуме приводились примеры систем, которые работают с миллионнами записями. Правда не нашел где. Сколько реально держит DBF тоже здесь приводилось, ищи на форуме.

Dr. Oldwarez: Итак, решение принято: устанавливается Windows 2008 SP1 и на него Advantage Database Server. Сначала программа и сервер будут на одной машине, потом разнесу их в локальной сети.

azoo: Dr. Oldwarez пишет: Итак, решение принято: устанавливается Windows 2008 SP1 и на него Advantage Database Server. Сначала программа и сервер будут на одной машине, потом разнесу их в локальной сети. Ради одной программы целый сервер ? Программа на Harbour?

Dr. Oldwarez: Дык, эта программа на локальном компьютере работает без проблем, а в сети глючит

Dr. Oldwarez: Pasha пишет: Это опечатка ? Наверное, имеется в виду файл-сервер ? При выполнении каких операций происходит зависание ? Ну а ответ то очевиден. Надо использовать клиент-сервер для dbf, ads или letodb. Да, я имел в виду именно файл-сервер. Сейчас шеф опять активизировался. Клиент-сервер ставить неохота из соображений переносимости. Кроме того LetoDB выдаёт у меня загадочную ошибку 1063. Там написано что при этом её надо перекомпилировать как демона, но у меня перекомпиляция не идёт. Поставил у себя ADS сервер, но не знаю, как к нему подходить. Не подскажете, где найти примеры по ADS в Harbour? Есть ещё идея уйти на Microsoft Access, хотя не уверен, что от этого будет лучше, если режим файл-сервера останется, ведь проблемы с огромным трафиком в сети никуда не денутся. Что интересно, зависает у меня только большая программа с большим объёмом данных. Программы поменьше работают нормально.

Dima: Dr. Oldwarez пишет: Поставил у себя ADS сервер, но не знаю, как к нему подходить. Не подскажете, где найти примеры по ADS в Harbour? Вбиваем в поиск ADS и смотрим темы или смотрим примеры в CONTRIB\RDDADS

Dr. Oldwarez: Дык, нету у меня этой папки ни в MiniGui, ни в её подпапках Harbour, Samples и пр. А вот откуда берутся траблы с режимом файл-сервера, которые вполне могут вылезть и в Access. В сети, поддерживающей концепцию файлового сервера, база данных Access размещается на компьютере, выделенном в качестве файл-сервера. СУБД Access может быть установлена или на файл-сервере, или на каждой рабочей станции, но выполняется она всегда НА РАБОЧЕЙ СТАНЦИИ ПОЛЬЗОВАТЕЛЯ. Обработка базы данных в обеих случаях выполняется также НА РАБОЧИХ СТАНЦИЯХ ПОЛЬЗОВАТЕЛЕЙ. Поэтому по сети передаются с сервера на рабочие станции большие объёмы данных, что сильно загружает её и делает невозможным одновременное обслуживание большого числа пользователей Отсюда Самоучитель Access 2010

Dima: Dr. Oldwarez Скачай сырцы и будут http://github.com/harbour/core/archive/master.zip

Vlad04: Dr. Oldwarez Для 4-х машин попробуй в терминале работать

Softlog86: тормозит в сети - скорей всего логика программы изначально не была под многопользовательское решение заточена .... у меня к базам одновременно более 15-ти пользователей обращается ..... Складской учёт + поисковики по запчастям .... есть куча вариантов для ускорения работы в сети помимо установки ADS или LETO .... главное понять с чем связаны затупы ....

Andrey: Softlog86 пишет: у меня к базам одновременно более 15-ти пользователей обращается ..... Складской учёт + поисковики по запчастям .... Даже на клипере можно делать доступ 100 и более пользователей на обычном NTX или CDX драйвере. Опишите проблему, как и где открываете базы, как ищите и т.д. Какой сервер и на какой системе клиенты. Может сможем помочь. Если сервер шустрый, то может сделать терминальные клиенты, тогда задача будет просто летать ! Я сам перевел задачу у нескольких фирм на сервер-терминалов и теперь вообще забыл про проблемы.



полная версия страницы