Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.223 c
15-1232303736
Leonid Troyanovsky
2009-01-18 21:35
2009.03.29
Joe Bonamassa


2-1233694291
mifi
2009-02-03 23:51
2009.03.29
инди сокет


2-1234085225
jonin
2009-02-08 12:27
2009.03.29
текстовый файл


15-1232457697
Ketty
2009-01-20 16:21
2009.03.29
Скачать BBC фильмы на Английском...


2-1233601425
cruiser
2009-02-02 22:03
2009.03.29
WinInet и закачка файла из Интернет через прокси с авторизацией.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский