powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB CopyFromRecordset
2 сообщений из 2, страница 1 из 1
ADODB CopyFromRecordset
    #39598477
Moss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день!
делаю выгрузку с БД в Excel
Если результат селекта порядка 500тыс строк, то все выгружается нормально.
При большей выборке вылетает ошибка что нет памяти на строке:

Sheet.Range("A1").CopyFromRecordset rs

Реальная выборка порядка 5 млн. строк.

Можно как-то обвернуть в цикл чтоб по пол миллиона записывало, сохраняло в файл и дозаписывало дальше?

P.s. c VB впервые . делаю с помощью hta

спасибо
...
Рейтинг: 0 / 0
ADODB CopyFromRecordset
    #39599450
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Moss,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Const RECORDS_PER_ITERATION = 500000
Dim r

REM rs - adodb.recordset
Do Until rs.EOF
    Set r = ' присваиваете переменной начало диапазона для выгрузки

    REM Function CopyFromRecordset(Data As Unknown, [MaxRows], [MaxColumns]) As Long
    r.CopyFromRecordset rs, RECORDS_PER_ITERATION

    Set r = Nothing

    REM сохраняете файл, или делаете другие действия, которые, как Вы считаете, спасут от Out of memory
Loop
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB CopyFromRecordset
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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