powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / VC+ADO+MS SQL Server как быстро вставить записи?
4 сообщений из 4, страница 1 из 1
VC+ADO+MS SQL Server как быстро вставить записи?
    #34916864
Koka_SS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть задача из Access-a нужно перетянуть частично данные в БД на MS SQL Server-e...
т.е. выбираются строки из таблицы Access-a и вставляются
кодом типа
try
{
pCommand->ActiveConnection = pConnGlob;
pCommand->CommandText = "AddNewDocument";
pCommand->CommandType = adCmdStoredProc;
pCommand->Parameters->Item[ _variant_t( (long) 1 ) ]->Value = _variant_t( (int)itNumLom);
pCommand->Parameters->Item[ _variant_t( (long) 2 ) ]->Value = _variant_t( (int)m_iNumLO );
pCommand->Parameters->Item[ _variant_t( (long) 3 ) ]->Value = _variant_t( (LPCTSTR)stIDMAN );
pCommand->Parameters->Item[ _variant_t( (long) 4 ) ]->Value = _variant_t( (LPCTSTR)stName );
pCommand->Parameters->Item[ _variant_t( (long) 5 ) ]->Value = _variant_t( (LPCTSTR)stDocDate );
pCommand->Parameters->Item[ _variant_t( (long) 6 ) ]->Value = _variant_t( (LPCTSTR)stSeria );
pCommand->Parameters->Item[ _variant_t( (long) 7 ) ]->Value = _variant_t( (LPCTSTR)stDocNum );
pCommand->Parameters->Item[ _variant_t( (long) 8 ) ]->Value = _variant_t( (LPCTSTR)stMesto );
pCommand->Parameters->Item[ _variant_t( (long) 9 ) ]->Value = _variant_t( (LPCTSTR)stCountry );
pCommand->Execute( NULL, NULL, adCmdStoredProc );
bRet = true;
}
catch( _com_error &e )
{
str.Format( "Ошибка %s (%s)\n%s!",(LPCSTR)e.Source(), (LPCSTR) e.Description(),(LPCSTR)e.ErrorMessage());
}

но таким образом в секунду вставляется 20-70 записей в секунду, но т.к. данных много порядка
2-3 милиона записей то получается очень долго :(

может кто подскажет как сделать более быструю вставку, заранее благодарю
...
Рейтинг: 0 / 0
VC+ADO+MS SQL Server как быстро вставить записи?
    #34916968
Leshij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Server Data Transformation Services?
--
Здесь у нас туманы и дожди, здесь у нас холодные рассветы,
Здесь на неизведанном пути ждут замысловатые сюжеты!
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
VC+ADO+MS SQL Server как быстро вставить записи?
    #34917039
Koka_SS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leshij
SQL Server Data Transformation Services?
--
Здесь у нас туманы и дожди, здесь у нас холодные рассветы,
Здесь на неизведанном пути ждут замысловатые сюжеты!
Posted via ActualForum NNTP Server 1.4

к сожалению что либо стандартное не совсем подходит, есть моменты которые проще реализовать в коде, уточню задачу, есть 200 БД в виде mdb файлов, с одинаковой структурой, при импорте,
из названия файла, скажем получаем номер дома, к которому относится ин-фя в файле и т.д. и таких моментов куча... я не очень представляю как DTS заставить в зависимости от названия файла вставлять скажем в поле таблицы "номер_дома" нужное значение...

да вообщем вопрос и не в том, используя DTS импорт БД полностью занимает 15 мин. а прога мучается 1 час 30 минут. :( я так понимаю что я не оптимально написал код т.е. простой INSERT в цикле очень медлителен относительно метода который использует те же DTS!

может кто подскажет как написать код котоый будет вставлять скажем за раз 100-200 строк
...
Рейтинг: 0 / 0
VC+ADO+MS SQL Server как быстро вставить записи?
    #34917382
Leshij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ADO можно использовать Batch Update mode и вставлять данные напрямую в
таблицу, миную хранимку. Так будет отсылаться меньше запросов к серверу.
Другое решение -- загнать все данные, к-ые сейчас есть -- базу в Эксесс и
файлики с домами как таблицы на SQL Server и уже оттуда конвертировать в
нужные данные sql-запросом.
И еще один совет -- для такой задачи гораздо проще будет использовать
скриптовые языки типа JScript или VBScript вместо C++. По времени
выполнения это будет не намного дольше -- большая часть времени будет
тратиться на общение с сервером и операции с файлами.
--
Здесь у нас туманы и дожди, здесь у нас холодные рассветы,
Здесь на неизведанном пути ждут замысловатые сюжеты!
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / VC+ADO+MS SQL Server как быстро вставить записи?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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