Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.08.2010, 14:05
bestserg bestserg вне форума
Прохожий
 
Регистрация: 27.03.2009
Сообщения: 4
Репутация: 10
По умолчанию импорт данных из dbf (очень больная) в sql server

Всем добрый день!
Следующая задача: необходимо организавать импорт данных из таблицы dbf в sql server. Проблема состоит в том, что dbf таблица очень большая - 1,5 Гб. Когда я пытаюсь загрузить ее в sql server через BDE, то таблица загружается, но при просмотре в sql server-е она оказывается не вся, а примерно половина записей dbf таблицы, а если я ее загружаю через ODBC драйвер, то во время загрузки, программа начинает увеличивать используемую память и в итоге программа во время загрузки натыкается на сообщение об исчерпании виртуальной памяти (примерно через пол часа работы на пеньке 3Ггц и 2 Гб оперативной памяти, 1 или 2 Гб виртуальной). Загрузку провожу таким путем:
ADOCommand1.CommandText:= 'INSERT Polis VALUES ('''+
t_polis.FieldByName('smo').AsString+''','''+
t_polis.FieldByName('polis_s').AsString+''','''+
t_polis.FieldByName('polis_n').AsString+''','+
datn_new+','+
datk_new+','''+
t_polis.FieldByName('fam').AsString+''','''+
t_polis.FieldByName('im').AsString+''','''+
t_polis.FieldByName('otch').AsString+''','+
datr_new+','''+
t_polis.FieldByName('pol').AsString+''','''+
t_polis.FieldByName('snils').AsString+''','''+
t_polis.FieldByName('pr_rab').AsString+''','''+
t_polis.FieldByName('mrab').AsString+''','''+
t_polis.FieldByName('innrab').AsString+''','''+
t_polis.FieldByName('kpprab').AsString+''','+
IntToStr(t_polis.FieldByName('sost').AsInteger)+', '+
d_input_new+','''+
t_polis.FieldByName('okved').AsString+''')';
ADOCommand1.Execute;

Подскажите пожалуйста как можно обойти такую ситуацию. У нас есть программа стороннего разработчика, которая выполняет такой импорт и при этом никаких подобных сообщений не выскакивает и еще, когда я запускаю импорт в программе стороннего разработчика, открывал диспетчер задач и увидел, что во время загрузки программа этого разработчика не грузит процессор, а грузится sqlserver. А когда я в своей программе запускаю импорт, то почти весь процессор загружает моя программа и при этом постоянно увеличивает использование виртуальной памяти. У кого есть какие предложения, буду рад услышать.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:08.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025