powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Открытие новой сессии при запросе DML
16 сообщений из 16, страница 1 из 1
Открытие новой сессии при запросе DML
    #40084591
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех.

встретился с необычным поведением : из приложения через OLEDB ICommandText Execute делаю ряд запросов select все проходит через один коннект все ок, но если выполняю любой dml, появляется новый коннект.
Что интересно на части баз на том же сервере dml проходит без открытия новой сессии.

Проверил свойства баз, права пользователей, все идентично.
Попробовал отключить пуллинг в строке соединения (типа ole db service -2) не реагирует.

Что то с лыжами , кто встречал ткните куда еще глянуть.
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084595
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в соединении есть недофетченные данные, то для следующего запроса неявно будет открыто новое соединение.
ЕМНИП, данное поведение управляется опцией Multiple Connections в строке подключения.
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084596
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm
Если в соединении есть недофетченные данные, то для следующего запроса неявно будет открыто новое соединение.
ЕМНИП, данное поведение управляется опцией Multiple Connections в строке подключения.


Вроде все data забираю корректно, ряд select до этого корректно работают в той же сессии, странно.
Multiple Connections разве не тоже самое что я отключал pooling (-2) в строке подключения когда открывал коннект ?
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084601
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
Multiple Connections разве не тоже самое что я отключал pooling
Нет.
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms722766(v=vs.85)

Отключите это свойство и ловите ошибку.
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084646
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,

Спасибо, попробовал не вышло . Все равно создается, как не пойму.
Смотрю в дебаге - завинет на секунд 15 и хоп новая сессия в мониторе.
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084647
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
Спасибо, попробовал не вышло
Попробовали что?
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084652
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm,

Поставил в свойствах соединения DBPROP_MULTIPLECONNECTIONS в VARIANT_FALSE
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084655
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
Вроде все data забираю корректно, ряд select до этого корректно работают в той же сессии, странно.
Для DML все data забираете корректно?
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084657
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg
VladimirMA
Вроде все data забираю корректно, ряд select до этого корректно работают в той же сессии, странно.
Для DML все data забираете корректно?


Угу, все как есть в базе берет.
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084659
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
alexeyvg
пропущено...
Для DML все data забираете корректно?


Угу, все как есть в базе берет.
?
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084660
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

Да несколько select до этого отрабатывают корректно, все фетчат, сессии не задваивают.
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084661
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VladimirMA,

самое странное что приложение на соседней базе подобной все отрабатывает в рамках одной сессии.
Может хитрые пермишены, сочетание настроек .....
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084663
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
alexeyvg,

Да несколько select до этого отрабатывают корректно, все фетчат, сессии не задваивают.
Так для DDL вы забираете data, я так и не понял?
Например, после команды UPDATE может быть рекордсет с к-вом обработанных строк, его тоже надо забрать. Или пропустить. Или ставить в коннекте SET NOCOUNT ON, что бы его не получать (но лучше, конечно, правильно работать с коннектом, а не менять серверный код).
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084666
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg
VladimirMA
alexeyvg,

Да несколько select до этого отрабатывают корректно, все фетчат, сессии не задваивают.
Так для DDL вы забираете data, я так и не понял?
Например, после команды UPDATE может быть рекордсет с к-вом обработанных строк, его тоже надо забрать. Или пропустить. Или ставить в коннекте SET NOCOUNT ON, что бы его не получать (но лучше, конечно, правильно работать с коннектом, а не менять серверный код).


Аа вы про это.
У меня стояли alter database запросы, но я пробовал insert , поведение одинаково.
Как я понимаю возвращать здесь нечего, и в общем до фетча еще и не доходит на execute уже новая сессия.
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084747
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
Как я понимаю возвращать здесь нечего, и в общем до фетча еще и не доходит на execute уже новая сессия.
А, у вас после выполнения селекта, чтения всех рекордсетов, закрытия или дочитывания этих рекордсетов, следующий же вызов CommandText Execute выполняется в новом коннекте?

Вообще, тут вопрос совсем не по сиквелу, лучше выбрать форум, где много программистов OLEDB. На этом сайте, правда, такого нет.
Когда то использовал ADO, и .NET-средства доступа, натыкался на такое, и каждый раз причина была совсем не мистическая, в итоге всё побороли, и больше не было.
Но с OLEDB никогда не сталкивался, могу только фантазировать (хотя принципы конечно одни и те же - дело не в некой волшебной опции, а в том, что в текущем коннекте осталось что то, что программист может получить, и библиотека доступа открывает коннект для новой команды, что бы это "что то" сохранить - осталось понять, что именно)
...
Рейтинг: 0 / 0
Открытие новой сессии при запросе DML
    #40084756
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA,

вы определитесь, программируете клиентское приложение, а проблему ищете на сервере БД. Вам разве сервер коннекты открывает? Ищите ответы на форуме по написанию клиентских приложений, а не там, где фонарь ярче светит.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Открытие новой сессии при запросе DML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]