Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

Неопознаная ошибка   Найти похожие ветки 

 
r.o.o.t ©   (2007-08-22 18:09) [0]

Господа вот такой вопрос у меня возникла проблемма

У меня трех звенная база данных на MIDAS работает через SocketConnection база MS Access  при подключении пользователей и вызове удаленных методов по записи или чтению в базу данных на SQL все работает нормально но при достижении 65-77 или более пользователей вновь подключенные пользователи немогут обращатся к базе т.е. открывать таблицы выполнять запросы но спокойно могут выполнять методы в которых нереализованно обращение к базе, хотя старые пользователи могут спокойно без ошибок обращатся к базе.

Обибка имеет вид "неопознаная ошибка"


 
r.o.o.t ©   (2007-08-22 18:10) [1]

что может быть??


 
Вася Правильный   (2007-08-22 19:41) [2]


> база MS Access
> при достижении 65-77 или более пользователей

и это еще живет?!! радуйся, оно даже на столько не рассчитано


 
R.O.O.T ©   (2007-08-22 21:32) [3]

Неверно
База MS Access расчитанна на 255 активных сессий
темболее запросы в базу не сильно ресурсоемкие
кто нибудь прояснит более подробно?


 
sniknik ©   (2007-08-22 23:18) [4]

Access и его сессии тут могут быть и ни причем, вообще. а ограничение по какимто другим ресурсам, они то не бесконечные...
попробуй например запустить любую другую программу 255 раз... удалось? тогда возьми посложнее и поресурсоемкее потому как ты видимо "hello word!" запускал.

а у тебя модуль данных это считай приложение(процесс) для каждого клиента (или поток, в зависимости от Instancing в фабрике класса).
кстати можно попробовать поменять, это и еще ThreadingModel, посмотреть что выгоднее и подходит под задачу. может запустишь больше 77.


 
Sergey13 ©   (2007-08-23 08:54) [5]

> [0] r.o.o.t ©   (22.08.07 18:09)

А к аксесу чем цепляешься?

> но при достижении 65-77

вроде помнится в БДЕ было похожее ограничение.


 
sniknik ©   (2007-08-23 09:12) [6]

> вроде помнится в БДЕ было похожее ограничение.
ограничение будет везде, даже вообще без баз...

сделай пример, и попробуй по запускать разные программы
procedure TForm1.Button1Click(Sender: TObject);
var
 i, Er: integer;
begin
 for i:= 1 to 255 do begin
   Er:= WinExec("Project2.exe", SW_SHOWNORMAL);
   if Er < 32 then begin
     Label2.Caption:= IntToStr(Er);
     Application.ProcessMessages;
     Break;
   end;
   Label1.Caption:= IntToStr(StrToIntDef(Label1.Caption, 0)+1);
   Application.ProcessMessages;
 end;  
end;

у меня так просто пустая форма запустилась 194 раза (если считать запущенное, а не просто вызов который и проигнорироваться может (в конце цикла особенно))
чуть посложнее (для написания а не по тому что там участвует) с 1м коннектом датасетом, гридом, и запросом возвращающим пару строк уже только 130 раз.
и т.д. более сложная меньше количество. чегото там хватает хендлов например...

ему надо модель сменить раз у него много юзеров, надо чтобы копии не плодились под каждого юзера, а например всех одной копией по очереди обрабатывать. либо апгрейдить железо/операционку помощнее (на серверную поменять).


 
sniknik ©   (2007-08-23 09:13) [7]

> там хватает
там не хватает


 
Сергей М. ©   (2007-08-23 09:27) [8]


> R.O.O.T ©   (22.08.07 21:32) [3]
> База MS Access расчитанна на 255 активных сессий


Это где ты такое увидел ?
Сессиями "заправляет" не база, а СУБД.

Да и держать активными (открытыми) все сессии без явно выраженной необходимости тоже нет никакого резона.


 
r.o.o.t ©   (2007-08-23 10:13) [9]

255 взял из описания баз Access по поводу ограничения я понимаю что по ресурсам
но ресурсов предостаточно т.к. пользователи могут образщатся к методам сервера которые несвязанны с базой но любые обращения к базе сопровождаютсятакой ошибкой


 
Сергей М. ©   (2007-08-23 10:20) [10]


> любые обращения к базе сопровождаютсятакой ошибкой
>


А как она выглядит на стороне MIDAS-сервера ?


 
sniknik ©   (2007-08-23 11:16) [11]

> но ресурсов предостаточно т.к. пользователи могут образщатся к методам сервера которые несвязанны с базой но любые обращения к базе
> сопровождаютсятакой ошибкой
а ты уверен что методы сервера не общие, а дублируются для каждого клиента? это же принцип ООП код один, обрабатываемые им данные разные.

во проверили [6]? чего получается?

+ сделай пример аналогичный 6, только не для программ(процессов) а для потоков, в каждом потоке создавай по собственному датамодулю со всем что у тебя там есть из программы, к базе коннект не делай, а просто "наштампуй" такое количество потоков с ним.
это будет второй вариант модели COM, проверка, примерно тоже что происходит при модели "апартмент".
гарантирую не получится.
да, поток нужно проверять что рабочий/датамодуль создался, ну типа переменную на нем завести, или лучше ADODataSet.Tag использовать, инкрементировать и выдавать на главную форму для каждого потока...
а потом проверить метод этого потока, ну типа чтото, что не обращаясь к данным просто например возращает случайное значение (вот это скорее всего будет работать).

p.s. хотя ладно, хочешь искать "где светлее", флаг тебе в руки!


 
r.o.o.t ©   (2007-08-23 11:45) [12]

короче дело такое

сэмулировал работу сервака подклбчил 1200 пользователй вызвал процедуры удаленные + одному SQL запросу в базу все работает(нодолго)
дальше освободил сервер переписал клиента запустил и попытался открыть по одной таблице на 64ом подключении все начило сбоить и появилась "Неопознаная ошибка"
Клиенты подключались дальше но таблицы уже открыть немогли
где рыть дальше???
Я так панимаю сущесвует пределное число открытия таблиц или еще чегонить


 
Вася Правильный   (2007-08-23 13:13) [13]


> Клиенты подключались дальше но таблицы уже открыть немогли

что понимается под открытием таблицы?
попробуй select * from tbl where 1=0



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.037 c
6-1169218004
Vlad Oshin
2007-01-19 17:46
2007.09.16
Как отправить письмо самому себе клиентом по умолчанию?


8-1165916716
zenov
2006-12-12 12:45
2007.09.16
как подключить к своей проге плагины аудиовывода из Winamp?


15-1187423520
wl
2007-08-18 11:52
2007.09.16
темплейты (с++билдер 6)


11-1171022650
WiseImp
2007-02-09 15:04
2007.09.16
Turbo Delphi?


15-1187700376
сейчас_злой
2007-08-21 16:46
2007.09.16
Ищу работу... есть опыт програмирования на Delphy





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский