Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.047 c
2-1183543312
deras
2007-07-04 14:01
2007.07.29
Как защитить прогу?


15-1183469880
@!!ex
2007-07-03 17:38
2007.07.29
Добавить пункт в меню программы на Taskbar e.


11-1161781122
D[u]fa
2006-10-25 16:58
2007.07.29
Turbo Delphi Win32


2-1183363164
Ksion_tm
2007-07-02 11:59
2007.07.29
Скорость шпинделя CDROMa


15-1182946542
de.
2007-06-27 16:15
2007.07.29
RxLib





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский