-
Суть такова : на ftp сервере автоматом создаются каждые 15 минут файлы формата txt, их надо раз в день импортировать в одну и туже таблицу, и так изо дня в день в эту же таблицу. Если файлы уже были импортированы, то брать уже последующие файлы.
Вопрос: сможет ли DTS справится с этим ? Если да, то как сделать чтобы она брала файлы только в названии которых есть слово "ccr" , и как настроить чтобы она брала файлы за опред-ый день. Если же DTS не справится , то что надо для того чтобы решить эту задачу ? Спасибо.
-
> сможет ли DTS справится с этим ?
не знаю, но D6 сможет
> как сделать чтобы она брала файлы только в названии которых
> есть слово "ccr" , и как настроить чтобы она брала файлы
> за опред-ый ден
FindFirst FindNext +маска +аттрибуты файла
-
> сможет ли DTS справится с этим
По-идее - должно, для таких задач и делалось. Как конкретно - тебе лучше на sql.ru в MSSQL спросить.
-
Vlad Oshin, подскажите с чего начать чтобы сделать при помощи D6?
-
> Alexandra (29.07.08 12:27) [3]
> подскажите с чего начать чтобы сделать при помощи D6?
Начать надо с найма программиста...
-
Есть процедура вычисления размера папки, (она рекурсивная в вашем случае рекурсия ненужна) используя ее как пример можете написать свою
> 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;
-
> Вопрос: сможет ли DTS справится с этим ?
Смотря что ты там пропишешь.
> Если да, то как сделать чтобы она брала файлы только в названии
> которых есть слово "ccr" , и как настроить чтобы она брала
> файлы за опред-ый день.
есть такая процедура xp_cmdshell
правильное ее использование в паре с BULKINSERT
может выполнить твою задачу
-
> с чего начать чтобы сделать при помощи D6?
> FindFirst FindNext
+F1
TadoConnection +F1
TadoXXX +F1
www.ya.ru + TadoConnection
www.ya.ru + TadoXXX
www.ya.ru + +Delphi +FindFirst +маска +пример
-
Пишется сервис который если нашел файл, соответствующий условиям в директории натравливает на него ДТС пакет (или парсит сам и в базу закорачивает) и перекладывает обработаный файл в соседнюю директорию.
Потенциальная грабля - процесс сохранения файла растянут во времени.
-
и еще одна грабля Если в 8 первыз строках (в настройках можно докрутить до 16) в поле нет данных то данное поле при импорте дтс пакетом останется пустым для всего файла