|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
Приветствую всех. встретился с необычным поведением : из приложения через OLEDB ICommandText Execute делаю ряд запросов select все проходит через один коннект все ок, но если выполняю любой dml, появляется новый коннект. Что интересно на части баз на том же сервере dml проходит без открытия новой сессии. Проверил свойства баз, права пользователей, все идентично. Попробовал отключить пуллинг в строке соединения (типа ole db service -2) не реагирует. Что то с лыжами , кто встречал ткните куда еще глянуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 10:38 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
Если в соединении есть недофетченные данные, то для следующего запроса неявно будет открыто новое соединение. ЕМНИП, данное поведение управляется опцией Multiple Connections в строке подключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 11:04 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
invm Если в соединении есть недофетченные данные, то для следующего запроса неявно будет открыто новое соединение. ЕМНИП, данное поведение управляется опцией Multiple Connections в строке подключения. Вроде все data забираю корректно, ряд select до этого корректно работают в той же сессии, странно. Multiple Connections разве не тоже самое что я отключал pooling (-2) в строке подключения когда открывал коннект ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 11:09 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
VladimirMA Multiple Connections разве не тоже самое что я отключал pooling https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms722766(v=vs.85) Отключите это свойство и ловите ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 11:23 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
invm, Спасибо, попробовал не вышло . Все равно создается, как не пойму. Смотрю в дебаге - завинет на секунд 15 и хоп новая сессия в мониторе. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:21 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
VladimirMA Спасибо, попробовал не вышло ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:22 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
invm, Поставил в свойствах соединения DBPROP_MULTIPLECONNECTIONS в VARIANT_FALSE ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:31 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
VladimirMA Вроде все data забираю корректно, ряд select до этого корректно работают в той же сессии, странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:34 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
alexeyvg VladimirMA Вроде все data забираю корректно, ряд select до этого корректно работают в той же сессии, странно. Угу, все как есть в базе берет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:37 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
VladimirMA alexeyvg пропущено... Для DML все data забираете корректно? Угу, все как есть в базе берет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:39 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
alexeyvg, Да несколько select до этого отрабатывают корректно, все фетчат, сессии не задваивают. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:43 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
VladimirMA, самое странное что приложение на соседней базе подобной все отрабатывает в рамках одной сессии. Может хитрые пермишены, сочетание настроек ..... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:48 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
VladimirMA alexeyvg, Да несколько select до этого отрабатывают корректно, все фетчат, сессии не задваивают. Например, после команды UPDATE может быть рекордсет с к-вом обработанных строк, его тоже надо забрать. Или пропустить. Или ставить в коннекте SET NOCOUNT ON, что бы его не получать (но лучше, конечно, правильно работать с коннектом, а не менять серверный код). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 14:51 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
alexeyvg VladimirMA alexeyvg, Да несколько select до этого отрабатывают корректно, все фетчат, сессии не задваивают. Например, после команды UPDATE может быть рекордсет с к-вом обработанных строк, его тоже надо забрать. Или пропустить. Или ставить в коннекте SET NOCOUNT ON, что бы его не получать (но лучше, конечно, правильно работать с коннектом, а не менять серверный код). Аа вы про это. У меня стояли alter database запросы, но я пробовал insert , поведение одинаково. Как я понимаю возвращать здесь нечего, и в общем до фетча еще и не доходит на execute уже новая сессия. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 15:01 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
VladimirMA Как я понимаю возвращать здесь нечего, и в общем до фетча еще и не доходит на execute уже новая сессия. Вообще, тут вопрос совсем не по сиквелу, лучше выбрать форум, где много программистов OLEDB. На этом сайте, правда, такого нет. Когда то использовал ADO, и .NET-средства доступа, натыкался на такое, и каждый раз причина была совсем не мистическая, в итоге всё побороли, и больше не было. Но с OLEDB никогда не сталкивался, могу только фантазировать (хотя принципы конечно одни и те же - дело не в некой волшебной опции, а в том, что в текущем коннекте осталось что то, что программист может получить, и библиотека доступа открывает коннект для новой команды, что бы это "что то" сохранить - осталось понять, что именно) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 21:59 |
|
Открытие новой сессии при запросе DML
|
|||
---|---|---|---|
#18+
VladimirMA, вы определитесь, программируете клиентское приложение, а проблему ищете на сервере БД. Вам разве сервер коннекты открывает? Ищите ответы на форуме по написанию клиентских приложений, а не там, где фонарь ярче светит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2021, 23:39 |
|
|
start [/forum/topic.php?fid=46&fpage=19&tid=1684495]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
318ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 262ms |
total: | 686ms |
0 / 0 |