Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Данные формата txt в таблицу MSSQL [D4, D6, MSSQL]


Alexandra ©   (2008-07-29 07:43:00) 

Суть такова : на ftp сервере автоматом  создаются  каждые 15 минут файлы формата txt, их надо раз в день импортировать в одну и туже таблицу, и так изо дня в день в эту же таблицу. Если файлы уже были импортированы, то брать уже последующие файлы.
Вопрос: сможет ли DTS справится с этим ?  Если да, то как сделать чтобы она брала файлы только в названии которых есть слово "ccr" , и как настроить чтобы она брала файлы за опред-ый день. Если же DTS не справится , то что надо для того чтобы решить эту задачу ? Спасибо.


Павел Калугин   (2008-07-30 18:22:00) [1]

и еще одна грабля  Если в 8 первыз строках (в настройках можно докрутить до 16) в поле нет данных то данное поле при импорте дтс пакетом останется пустым для всего файла


Павел Калугин   (2008-07-30 18:20:00) [2]

Пишется сервис который если нашел файл, соответствующий условиям в директории натравливает на него ДТС пакет (или парсит сам и в базу закорачивает) и перекладывает обработаный файл в соседнюю директорию.
Потенциальная грабля - процесс сохранения файла растянут во времени.


Vlad Oshin   (2008-07-30 11:51:00) [3]


> с чего начать чтобы сделать при помощи D6?



> FindFirst FindNext

+F1

TadoConnection +F1
TadoXXX +F1

www.ya.ru + TadoConnection
www.ya.ru + TadoXXX
www.ya.ru + +Delphi +FindFirst +маска +пример


stone   (2008-07-29 15:28:00) [4]


> Вопрос: сможет ли DTS справится с этим ?

Смотря что ты там пропишешь.

> Если да, то как сделать чтобы она брала файлы только в названии
> которых есть слово "ccr" , и как настроить чтобы она брала
> файлы за опред-ый день.

есть такая процедура xp_cmdshell
правильное ее использование в паре с BULKINSERT
может выполнить твою задачу


Плохиш   (2008-07-29 13:41:00) [5]


> Alexandra   (29.07.08 12:27) [3]
> подскажите с чего начать чтобы сделать при помощи D6?

Начать надо с найма программиста...


stas   (2008-07-29 13:41:00) [6]

Есть процедура вычисления размера папки, (она рекурсивная в вашем случае рекурсия ненужна) используя ее как пример можете написать свою

> function GetDirectorySize(const Path: string): Int64;
> var
>  FD : TWin32FindData;
>  FH : THandle;
>  TempSize: TULargeInteger;
>  SR:TsearchRec;
> begin
>  Result := 0;
>  if Path='' then exit;
>  if not(DirectoryExists(Path)) then exit;
>  FH := FindFirstFile( PChar( Path + '*.*' ), FD );
>  repeat
>    if (FH<>INVALID_HANDLE_VALUE) and (FD.cFileName <> string('.
> ')) and
>                                               (FD.cFileName<>string('.
> .')) then
>      begin
>        if (FILE_ATTRIBUTE_DIRECTORY and FD.dwFileAttributes)
> <> 0 then
>          Inc(Result, GetDirectorySize(Path + FD.cFileName
> + '\'))
>        else
>          begin
>            TempSize.LowPart := FD.nFileSizeLow;
>            TempSize.HighPart := FD.nFileSizeHigh;
>            Inc(Result, TempSize.QuadPart);
>          end;
>      end;
>  until FindNextFile(FH,FD) = false;
> FindClose (SR);
> end;


Alexandra   (2008-07-29 12:27:00) [7]

Vlad Oshin, подскажите с чего начать чтобы сделать при помощи D6?


Ega23   (2008-07-29 09:21:00) [8]


> сможет ли DTS справится с этим


По-идее - должно, для таких задач и делалось. Как конкретно - тебе лучше на sql.ru в MSSQL спросить.


Vlad Oshin   (2008-07-29 09:16:00) [9]


> сможет ли DTS справится с этим ?

не знаю, но D6 сможет


> как сделать чтобы она брала файлы только в названии которых
> есть слово "ccr" , и как настроить чтобы она брала файлы
> за опред-ый ден

FindFirst FindNext +маска +аттрибуты файла


Наверх

Титульная страница Поиск, карта сайта Написать письмо