Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.08;
Скачать: CL | DM;

Вниз

Incorrect Syntax на одной машине, а на другой — все работает...   Найти похожие ветки 

 
Ega23 ©   (2011-12-15 16:15) [40]


> stas ©   (15.12.11 16:11) [37]
>
> Ну, так и есть.


Это несколько отличается от твоего поста:
4. Connection лучше создать в том же потоке из которого вы к нему обращаетесь как и command


 
stas ©   (2011-12-15 16:19) [41]

Anatoly Podgoretsky ©   (15.12.11 16:13) [38]

А я о чем?
4. Connection лучше создать в том же потоке из которого вы к нему обращаетесь как и command

Ega23 ©   (15.12.11 16:15) [40]
так и что я неправильно написал?


 
stas ©   (2011-12-15 16:22) [42]

Ega23 ©   (15.12.11 16:15) [40]
В принципе если конекшин создать в разных потоках, то в этом нет ничего страшного при условии если к нему не обращаться одновременно из нескольких потоков.

ты это имеешь ввиду?


 
stas ©   (2011-12-15 16:23) [43]

stas ©   (15.12.11 16:22) [42]
*создать и обращаться из разных потоков


 
знайка   (2011-12-15 16:24) [44]


> Но у меня в коде до «with...delete...» нет ни одного оператора
> вставки.
Это не важно, главне что сервер получает, профайлер бы показал.


 
Ega23 ©   (2011-12-15 16:28) [45]


> ты это имеешь ввиду?


Не только.


 
OW ©   (2011-12-15 16:29) [46]

Ну, сам придерживаюсь такой тактики

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


 
stas ©   (2011-12-15 16:33) [47]

OW ©   (15.12.11 16:29) [46]

не пойму смысла?
создал в потоке, при уничтожении потока и уничтожил конекшин.
А как следить за экземплярами конекшинов.


 
DiamondShark ©   (2011-12-15 16:37) [48]


> Ega23 ©   (15.12.11 16:13) [39]
> Речь о другом: почему экземпляр класса TADOConnection должен
> создаваться "внутри" другого треда?

А кто сказал, что должен? Создавай где хочешь. Только если у тебя создание и использование экземпляра в разных потоках, то принимай во внимание, как минимум, маршалинг. Даже местные знахари иногда попадаются в ловушку: если у тебя STA и межпоточные вызовы -- будь добр запилить message pump.

Даже если у тебя всё обойдётся с COM-маршалером, то многие провайдеры не поддерживают несколько активных команд на одном соединении (MSSQL именно такой).

Даже если провайдер формально поддерживает несколько активных команд, то может статься, что де-факто провайдер просто сериализует операции.

Пользы от совместного использования коннекта -- чуть менее, чем никакой.
Ну и нафиг такое счастье нужно? Чистапаржать?


 
Anatoly Podgoretsky ©   (2011-12-15 16:38) [49]

> Ega23  (15.12.2011 16:13:39)  [39]

Ну для того что бы получать ошибки и тогда возмущение будет справедливым,
Микрософт маст дай


 
OW ©   (2011-12-15 16:41) [50]

А зачем уничтожать соединение?
Создал сразу 5 (или максимум возможных сервером) соединений.
Стартанул поток - дал ему соединение, закончился поток, считаем свободным, дадим еще кому-то потом
Пул этакий


 
DiamondShark ©   (2011-12-15 16:42) [51]


> Сам поток не создает соединение, но каждый поток работает
> со своим соединением.

Аккуратно разложенные грабельки.


 
stas ©   (2011-12-15 16:44) [52]

OW ©   (15.12.11 16:41) [50]

Зависит конечно от приложения, но так сложнее
Необходимо в таком случае как-то узнать что коннекшин свободен, и назначить его другому потоку.


 
OW ©   (2011-12-15 16:47) [53]


> Необходимо в таком случае как-то узнать что коннекшин свободен,
>  и назначить его другому потоку

мессагой
шлем мессагу, что я все, забирай.
шлем мессагу с Wпараметром = указателю на соединение кому то другому, он в курсе, берет MyConnection := TConnection(парам) и вперед.


 
OW ©   (2011-12-15 16:47) [54]


> DiamondShark ©   (15.12.11 16:42) [51]
> > Сам поток не создает соединение, но каждый поток работает
> > со своим соединением.
> Аккуратно разложенные грабельки.


?


 
Ega23 ©   (2011-12-15 16:51) [55]


> Пользы от совместного использования коннекта -- чуть менее,
>  чем никакой.
> Ну и нафиг такое счастье нужно? Чистапаржать?


Отнюдь. Пул коннектов, как вполне обычный пример.


 
DiamondShark ©   (2011-12-15 19:50) [56]


> Ega23 ©   (15.12.11 16:51) [55]

При чём тут пул коннектов?



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

Текущий архив: 2012.04.08;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.011 c
15-1323117002
Юрий
2011-12-06 00:30
2012.04.08
С днем рождения ! 6 декабря 2011 вторник


2-1323958856
Дмитрий С
2011-12-15 18:20
2012.04.08
А потокобезопасна ли функция AcquireExceptionObject ?


1-1290932751
skeef
2010-11-28 11:25
2012.04.08
динамическое создание пиктограммы


15-1322861999
константин
2011-12-03 01:39
2012.04.08
jvcl


8-1224519235
REY75
2008-10-20 20:13
2012.04.08
Толщина линии в компонента Chart