![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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