Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MIDAS + IB [D5, IB6.x]


SAN ©   (2002-02-14 18:46:00) 

Вопрос в следующем:
есть до предела простая форма сервера:
IBTable(~1 000 записей) +IBDatabase+IBTransaction+DatasetProvider

и есть клиент, до безобразия простой
ClientDataSet+DataSource+DBGrid.

Так вот, если 2 человека одновременно открывают таблицу, то сервер уходит в себя и не выходит. В чем же беда?


Alexandr   (2002-02-20 14:36:00) [1]

ОБА-НА
вот видишь, все дело в строке коннекта было...
А ты колоться не хотел сразу...


SAN   (2002-02-20 14:31:00) [2]

>slava
Огромное человеское спасибо!!!!! все заработало!!!
Казалось бы одна строка :))))
Спасибо всем!!!!


Alexandr   (2002-02-20 12:49:00) [3]

еще.
На fibplus.com.ua есть пример спользования MIDAS+FIBPlus+Interbase можно посмотреть...


Alexandr   (2002-02-20 12:48:00) [4]

2Slava: Это точно так.
Но вот, когда запрос первого юзера выполнится, должен выполняться запрос второго, а этого у него не происходит, так что дело скорее всего не в этом.
Но лучше от этого станет это точно.


Slava   (2002-02-20 12:32:00) [5]

> san

Сейчас скажу, чего сам до конца не знаю, но где-то слышал :о))

Если в строке коннекта указано, например, d:\bases\server.gdb,
то работает Local InterBase, который является однопоточным.
Устанавливая опцию ciMultiInstance, ты хочешь от него добиться
многопоточного доступа к базе, а он не может и запросы обрабатывает последовательно. Соответственно второй пользователь
просто в ожидании...

Указав в строке коннекта Localhost:d:\bases\server.gdb, мы говорим
InterBase"у, что нужно использовать возможности сетевого InterBase"а.
И все должно быть пучком :о) Попробуй.

Вобщем вот такой вот бред...


san   (2002-02-20 11:15:00) [6]

Это тестовая программка. Кода-то фактически-то и нет.
На сервере СОВСЕМ никакого личного кода(только код Делпхи)
На клиенте только открытие ClientDataSet на нажатие кнопки. Все.
Повоторяю, это только для теста. Началось все с того, что если 2 человека открывают одну и туже таблицу в реальной программе, то все виснит. Если установить опции ciSingleInstance - то все ок. Но это маразм запускать n-сервером(по-моему). И обидно что с ADO и прочими - все ОК, а с IB - труба.


Fay   (2002-02-20 00:10:00) [7]

Пришли код (если это не является коммерческой тайной)


SAN   (2002-02-19 19:07:00) [8]

Народ!!! Help!!!!


SAN   (2002-02-19 15:49:00) [9]

>Slava
А причем здесь строка коннекта-то ?!?!
d:\bases\server.gdb
>Romkin
так и есть! снес 5.02, переставил Делпхи... поставил SP1 к Делпхи, 4.52 к IBX - тоже самое....... УЖАС!!!
на тестовом RDM только 1 IBQuery + IBDatabase + IBTransaction + DataSetProvider(DataSetResolver -> false)...
на клиенте, DataSetClient+DataSource+SocketConnection+DBGrid.
Запускаю 2 клиента, нажимаем на кнопочку Open. Все... Алес... Висим...


Romkin   (2002-02-19 12:08:00) [10]

На сервере д.б. TRemoteDataModule, с опциями tmApartment & MultiInstance


Slava   (2002-02-19 12:03:00) [11]

> SAN

Ты скажи строка коннекта-то какая?

Диск:\Моя база.gdb
или
LocalHost:Диск:\Моя база.gdb


SAN   (2002-02-19 12:00:00) [12]

>Romkin
вешается сервер приложений.
попробую с последними предложениями.


Romkin   (2002-02-19 11:36:00) [13]

Вопрос - какой сервер? Приложений или IB?
Операционка какая?
Кстати, для MIDAS подходит ТОЛЬКО IBX4.52 (IBX4.2), более старшие версии (проверял до 5.01, кажется) не закрывают транзакцию после выборки :-((
Причем почему-то tmApartment на Win95 выдает ошибку при попытке соединения.
У меня сейчас соединение только через Borland Socket Server, по сокетам, у всех провайдеров ResolveToDataSet = false, на каждый провайдер - своя транзакция (Read Committed в основном). Все летает


Alexandr   (2002-02-19 11:03:00) [14]

строкак коннекта к Interbase какая?
Локульный коннект или сетевой (Localhost)?


SAN   (2002-02-19 10:53:00) [15]

>Romkin
А вот и нет. Ничего не получилось. И до 5.02 обновил IBX и с FIBPlus пробовал. Ничегоссс... Сервер уходит в себя.
С ADO - работает, c Paradox- работает, а с Interbase - хоть тресни, никак... В чем же дело? Неужели никто не писал многозвенки с Мидасом и Интербасе? Памажите!!!!


Romkin   (2002-02-14 18:55:00) [16]

Обнови IBX до версии 4.52, http://www.borland.com


Наверх

Титульная страница Поиск, карта сайта Написать письмо