Форум: "Начинающим";
Текущий архив: 2012.04.08;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.005 c