Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Провайдер SQLOLEDB - есть ли ограничение объем выбираемых данных?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31906
Dimitry Timokhov
Как в случае использования связки adUseServer+adOpenForwardOnly OLEDB использует серверный курсор, если нет обращений к серверу по части курсоров?
Нет ни каких причин, почему бы не назвать механизм, отдающий данные для adOpenForwardOnly, курсором.
Но вот, не назвали, и эти события не показываются в профайлере.

В принципе, желательно их было бы показать, если не захотели в разделе "Курсоры", можно было в каком то другом, ведь это часть выполнения запроса, данные заблокированы, и по профайлеру нельзя понять, что же сервер делает. Было бы удобно.
По профайлеру можно подумать, что сервер делает какие то вычисления для получения данных из базы, или ожидает ввод-вывод, но нет, данные давно получены, а сервер ждёт, пока клиент разрешит их себе переслать.
Что поделать, не показали, значит, нету. Может, в Extended Events есть?
7 дек 19, 20:26    [22034936]     Ответить | Цитировать Сообщить модератору
 Re: Провайдер SQLOLEDB - есть ли ограничение объем выбираемых данных?  [new]
Dimitry Timokhov
Member

Откуда: Москва
Сообщений: 79
alexeyvg,

У меня Profiler от 2012. Там нет Extended Events.

Спасибо. Я реально начал понимать что-то про связку adUseServer+adOpenForwardOnly.
Действительно, есть повод задуматься об её использовании, когда надо распечатать 20кг бумаги (это реально бывает - на электронный архив только переходим).

Для обычной работы adUseClient+adOpenStatic достаточно - там маленькие и аккуратненькие запросы с небольшим выводом.

Коллеги, спасибо всем. Реально разобрался!

Сообщение было отредактировано: 8 дек 19, 11:44
8 дек 19, 11:40    [22035070]     Ответить | Цитировать Сообщить модератору
 Re: Провайдер SQLOLEDB - есть ли ограничение объем выбираемых данных?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4844
Dimitry Timokhov,

1) Под SSIS можно источник пропустить через блоки преобразования и сбагрить в назначение и прокачивать сотни и миллиарды лямов строк. Я лично качал 300+млн строк.

2) Под C# можно DataReader отправить на вход SqlBulkCopy и качать мега-объемы. Причем BulkCopy есть не только у MS SQL.

И это не требует много памяти.

Никаких ограничений на размер resultset нет. Лишь бы сеть не легла и диски не переполнились.
9 дек 19, 08:38    [22035405]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить