Форум: "Начинающим";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];
Внизпрограмма для работы с базой IB в длинной сети Найти похожие ветки
← →
Novice (2007-06-29 08:54) [0]Доброго времени суток.
Внешний вид проблемы таков:
Есть программа, написанная не мной (но есть ее исходники). Работа с базой данных на Interbase (IBDatabase, IBQuery, etc.). Сервер баз данных - FireBird. Файл базы - один, состоит из нескольких таблиц - две основных, остальные - справочники. Файл находится серверной машине. Сама программа валяется на другой машине. На остальных машинах только ярлыки на эту программу. Когда запускается программа, то при просмотре всего лишь трех-пяти записей программа зависает - не реагирует ни на что и только выбивается диспетчером задач из памяти. Есть мнение - все происходит из-за большой длины сети, ее запутанности, неправильной архитектуры, большой загруженности и т.д. Подскажите, возможно ли при запуске программы скэшировать этот файл данных, чтобы максимально исключить работу с сетью? Соответственно, при окончании работы вся скэшированная база данных, с которой происходили работы, сливалась на сервер. Возможны ли другие варианты решения проблемы?
← →
zz 5 © (2007-06-29 09:10) [1]А в какой момент происходит зависание ? Отладчиком не пробывали поймать ? Может и не в сети проблемы ?
← →
Johnmen © (2007-06-29 09:18) [2]
> Сама программа валяется на другой машине. На остальных машинах
> только ярлыки на эту программу.
Вот это и есть бред.
Необходимо на каждой клиентской машине иметь экзепляр программы. И его уж запускать.
← →
ЮЮ © (2007-06-29 09:38) [3]> [2] Johnmen © (29.06.07 09:18)
Возможно и бред, но разве он должен приводить в subj-евой проблеме?
Тем более, наверняка, когда-то при такой "архитектуре" всё это работало.
Проблемы, как всегда, ИМХО, в 17-ой строке. Баги редко проявляются сразу, иначе бы их не было.
← →
Сергей М. © (2007-06-29 10:24) [4]
> Novice (29.06.07 08:54)
Проблема наверняка в ошибке в 17-й строке
← →
PEAKTOP © (2007-06-29 10:48) [5]
> Сама программа валяется на другой машине
На фиг ? Скопровать программу на каждую машину.
> то при просмотре всего лишь трех-пяти записей программа
> зависает
1) Клиентская библиотека gds32.dll от той версии Firebird, которая крутиться на серваке ?
2) Сам сервак ниже версии 2.0.1 ? Если выше, то новая версия скомпилина при помощи M$ Visual C++ 8.0, следовательно необходимо на клиентские тачки скопировать библиотеки msvcp80.dll и msvcr80.dll и убить старые msvcp71.dll и msvcr71.dll.
3) Сервак не использует UDF ? Воможен конфликт менеджеров памяти в случае, когда сервак скомпилен с msvcp80.dll и msvcr80.dll, а UDF скомпилена со старыми msvcp71.dll и msvcr71.dll. Надо пересобирать UDF.
И вообще, версия сервера какая ?
← →
Johnmen © (2007-06-29 11:46) [6]
> ЮЮ © (29.06.07 09:38) [3]
> Возможно и бред, но разве
> он должен приводить в subj-евой проблеме?Тем более, наверняка,
> когда-то при такой "архитектуре" всё это работало.
Я это допускаю. Тем более, не известно, что, когда это работало, работало ли это для одного клиента.
← →
Desdechado © (2007-06-29 12:47) [7]> возможно ли при запуске программы скэшировать этот файл
> данных, чтобы максимально исключить работу с сетью? Соответственно,
> при окончании работы вся скэшированная база данных, с которой
> происходили работы, сливалась на сервер.
Теоретически да, но не в твоем случае.
Проблему нужно решать, а не обходить.
← →
Novice (2007-06-30 08:17) [8]Отвечаю по порядку:
1. >>А в какой момент происходит зависание ?<< При навигации по DBTreeView. Понажимал на два-три пункта, и все.
2. >>Вот это и есть бред. Необходимо на каждой клиентской машине иметь экзепляр программы.<< Прошу прощения за глупый вопрос, но чем это поможет? Точнее, в чем разница будет?
3. >>когда-то при такой "архитектуре" всё это работало.<< Это не работало никогда. Как запустили программу, так сразу все и пошло. Я тестировал эту же самую программу на короткой сети из двух машин, сеть - стандартная рабочая группа, длина кабеля меньше 10 метров, FireBird 1.5, все работает отлично.
4. >>И вообще, версия сервера какая ?<< FireBird 1.5....
5. >>Тем более, не известно, что, когда это работало, работало ли это для одного клиента<< Даже для одного - все равно не работает. А по теории автора этого недоразумения - должно работать примерно для пяти-десяти машин.
6. >>Проблему нужно решать, а не обходить.<< Решить я эту проблему самостоятельно могу только одним способом: взять MIDAS и перелопатить всю эту ересь на трехзвенку с тонким клиентом через DCOM/Socket соединения. Просто хотелось бы найти и другие пути.
← →
Плохиш © (2007-06-30 10:14) [9]
> 3. >>когда-то при такой "архитектуре" всё это работало.<<
> Это не работало никогда. Как запустили программу, так сразу
> все и пошло.
Афигеть, об отладки, надо понимать, у вас ничего не слышали...
> А по теории автора этого недоразумения - должно работать
> примерно для пяти-десяти машин.
При прочтении сего рыдал горючими слезами, тут таких аФФтаров по всем конференциям косяками ходят :-)) Съэкономили, взяли студента, теперь расхлёбываете. Автор вас разводит без зазрения совести.
← →
zz 5 © (2007-06-30 11:01) [10]
> Novice (30.06.07 08:17) [8]
Локально хоть пробывали запуска ? Работает ?
← →
ЮЮ © (2007-06-30 11:48) [11]
> Локально хоть пробывали запуска ? Работает ?
Даже на "короткой" сети работает:
(Я тестировал эту же самую программу на короткой сети из двух машин, сеть - стандартная рабочая группа, длина кабеля меньше 10 метров)
А вот не "длинной" - проблемы :)
Запусти, наконец, под IDE, коль исходники есть.
Неужели действительно полагаешь, что "длина сети" имеет какое-то значение?
← →
Novice (2007-07-03 08:09) [12]1. >>Афигеть, об отладки, надо понимать, у вас ничего не слышали...<< Я - слышал, и не только - активно пользуюсь.
2. >>Съэкономили, взяли студента, теперь расхлёбываете.<< В точку. Делал студент. А я теперь исправляй.
3. >>Локально хоть пробывали запуска ? Работает ?<< Да.
4. >>А вот не "длинной" - проблемы :)<< Может быть. Но корявость сети точно влияет - половина рабочих групп, половина доменов, какая из машин выдает всем IP и доменные имена - даже админ не знает.
5. >>Запусти, наконец, под IDE, коль исходники есть.<< Посмотрел я уже все. После чего плюнул на исправления, выматерился и переписал все на трехзвенку. Все заработало. Тема, собственно, закрыта, всем спасибо.
← →
Anatoly Podgoretsky © (2007-07-03 08:43) [13]> Novice (03.07.2007 08:09:12) [12]
2. Шило на мыло
4. Займись своим делом, а админ своим
← →
Novice (2007-07-03 12:51) [14]1. >>2. Шило на мыло<< И это верно. А что делать, если начальство жмется платить профессиональным информатикам, нагружая вместо этого простого оператора пк, который программированием занимается от силы 7-8 месяцев... самостоятельно...
← →
SlymRO © (2007-07-04 06:01) [15]Novice (03.07.07 12:51) [14]
выбивать себе звание главного/ведущего спеца и коэфициент >1 к зарплате
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.045 c