Форум: "Базы";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];
ВнизSQL server+ ADO + Multithreading Найти похожие ветки
← →
Tom (2005-10-21 17:16) [0]Итак...программа представляет из себя Сервера который связывается с клиентами на мною написанном протоколе,Сервер многопоточный - то ест на каждого клиента открывает свой поток.В каждом потоке сервер соединятся с базой - ранше это была MSAccess а теперь SQLserver , с Access сушествовало одно Connection,постоянно открытый, и Append происходил в CriticalSection,пытаясь сделать тоже с SQLserver - с одним клиентом все было ок,при двух начал кричать "Connection уже открыт!"
После следуюшего "исправления" : открываю и закрываю Connection до и после работы с базой стало даже с одним клиентом выдавать "this opperation cant be maked asynchronously" ....одним словом : "как работать правилно с ADO + SQLserver + multithreading "????
← →
clickmaker © (2005-10-21 17:38) [1]на каждый поток открывать свою сессию
← →
Tom (2005-10-21 17:41) [2]А где об этом можно почитать?
← →
Baltika-15 (2005-10-21 17:46) [3]
> Tom (21.10.05 17:41) [2]
>
> А где об этом можно почитать?
В Hеlp, конечно.
Затем статьи на разных сайтах(яндекс поможет однозначно - ключевое слово TThread)
← →
Tom (2005-10-21 17:49) [4]Работаю с ADO,и с ним тоже нужны Sessions?
← →
isasa © (2005-10-21 17:58) [5]Вариант
....
CoInitFlags:=COINIT_MULTITHREADED;
Application.Initialize;
...
← →
clickmaker © (2005-10-21 18:03) [6]
> Tom (21.10.05 17:49) [4]
> Работаю с ADO,и с ним тоже нужны Sessions?
любой коннект к БД - это сессия. И движок тут не причем
← →
Baltika-15 (2005-10-21 18:03) [7]
> Tom (21.10.05 17:49) [4]
>
> Работаю с ADO,и с ним тоже нужны Sessions?
Один поток - одно подключение TADOConnection.
> isasa © (21.10.05 17:58) [5]
>
> Вариант
>
> ....
> CoInitFlags:=COINIT_MULTITHREADED;
> Application.Initialize;
Мне кажется, что вряд ли это поможет. ADOConnection запросы выполняет последовательно.
← →
Tom (2005-10-21 18:19) [8]>>Baltika-15
>>Один поток - одно подключение TADOConnection.
Может знаете где можно найти кусочек кода? :) Заранее спасибо!!!
← →
isasa © (2005-10-21 18:27) [9]1. isasa © (21.10.05 17:58) [5]
2. Baltika-15 (21.10.05 18:03) [7]
Один поток - одно подключение TADOConnection.
И вынеси нафиг ADOConnection из модуля Data. Объяви все компоненты, по работе с базой локально, в рамках потока. Там их создавай, откравай, закрывай.
А код у тебя есть, свой. Раз с одним работает. :)
← →
Tom (2005-10-21 18:33) [10]Спасибо!!! сделаю как сказали а завтра сообшю результат!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c