Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1324028884
Alatiel
2011-12-16 13:48
2012.04.08
помогите пожалуйста решить задачку по delphi


2-1323856952
Alex_C
2011-12-14 14:02
2012.04.08
ADO+DataSet+DBGrid - быстро обновить данные.


15-1323376220
Юрий
2011-12-09 00:30
2012.04.08
С днем рождения ! 9 декабря 2011 пятница


2-1324013868
И. Павел
2011-12-16 09:37
2012.04.08
Перезапуск службы после остановки системой


15-1323353360
Artem
2011-12-08 18:09
2012.04.08
Строки в паскале





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский