![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
программа для работы с базой IB в длинной сети [D6, IB6.x]
Novice © (2007-06-29 08:54:00)Доброго времени суток.
Внешний вид проблемы таков:
Есть программа, написанная не мной (но есть ее исходники). Работа с базой данных на Interbase (IBDatabase, IBQuery, etc.). Сервер баз данных - FireBird. Файл базы - один, состоит из нескольких таблиц - две основных, остальные - справочники. Файл находится серверной машине. Сама программа валяется на другой машине. На остальных машинах только ярлыки на эту программу. Когда запускается программа, то при просмотре всего лишь трех-пяти записей программа зависает - не реагирует ни на что и только выбивается диспетчером задач из памяти. Есть мнение - все происходит из-за большой длины сети, ее запутанности, неправильной архитектуры, большой загруженности и т.д. Подскажите, возможно ли при запуске программы скэшировать этот файл данных, чтобы максимально исключить работу с сетью? Соответственно, при окончании работы вся скэшированная база данных, с которой происходили работы, сливалась на сервер. Возможны ли другие варианты решения проблемы?
SlymRO (2007-07-04 06:01:00) [1]Novice (03.07.07 12:51) [14]
выбивать себе звание главного/ведущего спеца и коэфициент >1 к зарплате
Novice (2007-07-03 12:51:00) [2]1. >>2. Шило на мыло<< И это верно. А что делать, если начальство жмется платить профессиональным информатикам, нагружая вместо этого простого оператора пк, который программированием занимается от силы 7-8 месяцев... самостоятельно...
Anatoly Podgoretsky (2007-07-03 08:43:00) [3]> Novice (03.07.2007 08:09:12) [12]
2. Шило на мыло
4. Займись своим делом, а админ своим
Novice (2007-07-03 08:09:00) [4]1. >>Афигеть, об отладки, надо понимать, у вас ничего не слышали...<< Я - слышал, и не только - активно пользуюсь.
2. >>Съэкономили, взяли студента, теперь расхлёбываете.<< В точку. Делал студент. А я теперь исправляй.
3. >>Локально хоть пробывали запуска ? Работает ?<< Да.
4. >>А вот не "длинной" - проблемы :)<< Может быть. Но корявость сети точно влияет - половина рабочих групп, половина доменов, какая из машин выдает всем IP и доменные имена - даже админ не знает.
5. >>Запусти, наконец, под IDE, коль исходники есть.<< Посмотрел я уже все. После чего плюнул на исправления, выматерился и переписал все на трехзвенку. Все заработало. Тема, собственно, закрыта, всем спасибо.
ЮЮ (2007-06-30 11:48:00) [5]
> Локально хоть пробывали запуска ? Работает ?
Даже на "короткой" сети работает:
( Я тестировал эту же самую программу на короткой сети из двух машин, сеть - стандартная рабочая группа, длина кабеля меньше 10 метров)
А вот не "длинной" - проблемы :)
Запусти, наконец, под IDE, коль исходники есть.
Неужели действительно полагаешь, что "длина сети" имеет какое-то значение?
zz 5 (2007-06-30 11:01:00) [6]
> Novice (30.06.07 08:17) [8]
Локально хоть пробывали запуска ? Работает ?
Плохиш (2007-06-30 10:14:00) [7]
> 3. >>когда-то при такой "архитектуре" всё это работало.<<
> Это не работало никогда. Как запустили программу, так сразу
> все и пошло.
Афигеть, об отладки, надо понимать, у вас ничего не слышали...
> А по теории автора этого недоразумения - должно работать
> примерно для пяти-десяти машин.
При прочтении сего рыдал горючими слезами, тут таких аФФтаров по всем конференциям косяками ходят :-)) Съэкономили, взяли студента, теперь расхлёбываете. Автор вас разводит без зазрения совести.
Novice (2007-06-30 08:17:00) [8]Отвечаю по порядку:
1. >>А в какой момент происходит зависание ?<< При навигации по DBTreeView. Понажимал на два-три пункта, и все.
2. >>Вот это и есть бред. Необходимо на каждой клиентской машине иметь экзепляр программы.<< Прошу прощения за глупый вопрос, но чем это поможет? Точнее, в чем разница будет?
3. >>когда-то при такой "архитектуре" всё это работало.<< Это не работало никогда. Как запустили программу, так сразу все и пошло. Я тестировал эту же самую программу на короткой сети из двух машин, сеть - стандартная рабочая группа, длина кабеля меньше 10 метров, FireBird 1.5, все работает отлично.
4. >>И вообще, версия сервера какая ?<< FireBird 1.5....
5. >>Тем более, не известно, что, когда это работало, работало ли это для одного клиента<< Даже для одного - все равно не работает. А по теории автора этого недоразумения - должно работать примерно для пяти-десяти машин.
6. >>Проблему нужно решать, а не обходить.<< Решить я эту проблему самостоятельно могу только одним способом: взять MIDAS и перелопатить всю эту ересь на трехзвенку с тонким клиентом через DCOM/Socket соединения. Просто хотелось бы найти и другие пути.
Desdechado (2007-06-29 12:47:00) [9]> возможно ли при запуске программы скэшировать этот файл
> данных, чтобы максимально исключить работу с сетью? Соответственно,
> при окончании работы вся скэшированная база данных, с которой
> происходили работы, сливалась на сервер.
Теоретически да, но не в твоем случае.
Проблему нужно решать, а не обходить.
Johnmen (2007-06-29 11:46:00) [10]
> ЮЮ © (29.06.07 09:38) [3]
> Возможно и бред, но разве
> он должен приводить в subj-евой проблеме?Тем более, наверняка,
> когда-то при такой "архитектуре" всё это работало.
Я это допускаю. Тем более, не известно, что, когда это работало, работало ли это для одного клиента.
PEAKTOP (2007-06-29 10:48:00) [11]
> Сама программа валяется на другой машине
На фиг ? Скопровать программу на каждую машину.
> то при просмотре всего лишь трех-пяти записей программа
> зависает
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.
И вообще, версия сервера какая ?
Сергей М. (2007-06-29 10:24:00) [12]
> Novice (29.06.07 08:54)
Проблема наверняка в ошибке в 17-й строке
ЮЮ (2007-06-29 09:38:00) [13]> [2] Johnmen © (29.06.07 09:18)
Возможно и бред, но разве он должен приводить в subj-евой проблеме?
Тем более, наверняка, когда-то при такой "архитектуре" всё это работало.
Проблемы, как всегда, ИМХО, в 17-ой строке. Баги редко проявляются сразу, иначе бы их не было.
Johnmen (2007-06-29 09:18:00) [14]
> Сама программа валяется на другой машине. На остальных машинах
> только ярлыки на эту программу.
Вот это и есть бред.
Необходимо на каждой клиентской машине иметь экзепляр программы. И его уж запускать.
zz 5 (2007-06-29 09:10:00) [15]А в какой момент происходит зависание ? Отладчиком не пробывали поймать ? Может и не в сети проблемы ?