Форум: "Базы";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];
ВнизДанные формата txt в таблицу MSSQL Найти похожие ветки
← →
Alexandra (2008-07-29 07:43) [0]Суть такова : на ftp сервере автоматом создаются каждые 15 минут файлы формата txt, их надо раз в день импортировать в одну и туже таблицу, и так изо дня в день в эту же таблицу. Если файлы уже были импортированы, то брать уже последующие файлы.
Вопрос: сможет ли DTS справится с этим ? Если да, то как сделать чтобы она брала файлы только в названии которых есть слово "ccr" , и как настроить чтобы она брала файлы за опред-ый день. Если же DTS не справится , то что надо для того чтобы решить эту задачу ? Спасибо.
← →
Vlad Oshin © (2008-07-29 09:16) [1]
> сможет ли DTS справится с этим ?
не знаю, но D6 сможет
> как сделать чтобы она брала файлы только в названии которых
> есть слово "ccr" , и как настроить чтобы она брала файлы
> за опред-ый ден
FindFirst FindNext +маска +аттрибуты файла
← →
Ega23 © (2008-07-29 09:21) [2]
> сможет ли DTS справится с этим
По-идее - должно, для таких задач и делалось. Как конкретно - тебе лучше на sql.ru в MSSQL спросить.
← →
Alexandra (2008-07-29 12:27) [3]Vlad Oshin, подскажите с чего начать чтобы сделать при помощи D6?
← →
Плохиш © (2008-07-29 13:41) [4]
> Alexandra (29.07.08 12:27) [3]
> подскажите с чего начать чтобы сделать при помощи D6?
Начать надо с найма программиста...
← →
stas © (2008-07-29 13:41) [5]Есть процедура вычисления размера папки, (она рекурсивная в вашем случае рекурсия ненужна) используя ее как пример можете написать свою
> 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;
← →
stone (2008-07-29 15:28) [6]
> Вопрос: сможет ли DTS справится с этим ?
Смотря что ты там пропишешь.
> Если да, то как сделать чтобы она брала файлы только в названии
> которых есть слово "ccr" , и как настроить чтобы она брала
> файлы за опред-ый день.
есть такая процедура xp_cmdshell
правильное ее использование в паре с BULKINSERT
может выполнить твою задачу
← →
Vlad Oshin © (2008-07-30 11:51) [7]
> с чего начать чтобы сделать при помощи D6?
> FindFirst FindNext
+F1
TadoConnection +F1
TadoXXX +F1
www.ya.ru + TadoConnection
www.ya.ru + TadoXXX
www.ya.ru + +Delphi +FindFirst +маска +пример
← →
Павел Калугин © (2008-07-30 18:20) [8]Пишется сервис который если нашел файл, соответствующий условиям в директории натравливает на него ДТС пакет (или парсит сам и в базу закорачивает) и перекладывает обработаный файл в соседнюю директорию.
Потенциальная грабля - процесс сохранения файла растянут во времени.
← →
Павел Калугин © (2008-07-30 18:22) [9]и еще одна грабля Если в 8 первыз строках (в настройках можно докрутить до 16) в поле нет данных то данное поле при импорте дтс пакетом останется пустым для всего файла
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c