Показать полную графическую версию : результаты запроса в виде текстового файла и его обработка
minusodin
16-03-2010, 18:25
Собственно вопрос состоит из 2 частей. Первая часть относится к SQL, вторая к языкам программирования.
1. SQL 2000. Надо автоматически, ежедневно выполнять запрос к БД, при этом получать результаты в файл, который использовать для дальнейшей обработки в другом ПО.
Результаты запроса представляют из себя список из имён файлов, порядка 2000 имён. Как это лучше сделать и какие варианты расположения данных в файле возможны?
Например список в txt формате, csv-файл и т.д.
2. Вторая часто не к этой ветке, но.... . Полученный в п.1 файл должен содержать перечень имён файлов. Теперь используя этот файл, надо провести обработку каталога (Win 2000, 2003) на наличие в нём данных файлов. Например если получить txt файл в виде столбца из имён файлов, то напишу батник использующий перебор (for /f) полученного файла. А какие варианты ещё возможны?
Delirium
17-03-2010, 02:05
Надо автоматически, ежедневно выполнять запрос к БД »
DTS + планировщик - все автоматом делается и в любое время. Создаете мастером задание, говорите, что выгружать, откуда и куда. Настраиваете планировщик и готово.
напишу батник использующий перебор (for /f) полученного файла. А какие варианты ещё возможны? »
А что еще хотите? ну можно тоже самое сделать на C#, Delphi, VB.NET :) Принцип то такой же будет :)
Надо автоматически, ежедневно выполнять запрос к БД, при этом получать результаты в файл, который использовать для дальнейшей обработки в другом ПО »
А может проще из того "другого" ПО цепляться к серверу, выполнять запрос и делать с ним, что хочешь?
minusodin
17-03-2010, 10:05
DTS + планировщик - все автоматом делается и в любое время. Создаете мастером задание, говорите, что выгружать, откуда и куда. Настраиваете планировщик и готово. » Спасибо. Буду юзать DTS, до этого никогда не использовал.
А может проще из того "другого" ПО цепляться к серверу, выполнять запрос и делать с ним, что хочешь? » Другое ПО с БД не работает. Нэ хочэт. Гордое. :)
minusodin
18-03-2010, 16:45
Не хочется открывать новую тему, спрошу здесь.
Как в sql-запросе (SQL 2000) SELECT .... FROM .... WHERE ..... сделать что бы возвращалось только определённое кол-во символов из поля? Например есть таблица со значениями КИРОВСКИЙ, ЛЕНИНСКИЙ, МАРКСОВСКИЙ запрос к таблице должен вернуть только первые 5 символов - КИРОВ, ЛЕНИН, МАРКС
Delirium
19-03-2010, 01:10
minusodin, а функции SQL почитать лень?
Select Left(ИМЯ_ПОЛЯ, 5) as ФИО from ТАБЛИЦА
minusodin
19-03-2010, 13:58
Спасибо.
Читать не лень. Читал. Но видимо торопился, пропустил.
Есть вопрос про вывод информации в DTS. Выбрал для Destination тип текстовый файл. Но не могу добиться чтобы он получился в формате приемлемом для обработки через for /f в cmd. Например вся информация в одну колонку (т.е. разделитель - конец строки).
Delirium
22-03-2010, 01:35
(т.е. разделитель - конец строки). »
Такого варианта нет. Либо в CSV, либо в другой формат.
Ну и маленькую клиентскую утилиту накидать, чтобы делала то же самое, что и командная строка, но с файлом в другом формате.
Если не знакомы с программированием, выложите готовый txt/scv файл и подробное(понятное) описание, что необходимо сделать, накидаем программку.
minusodin
30-03-2010, 15:48
Если не знакомы с программированием, выложите готовый txt/scv файл и подробное(понятное) описание, что необходимо сделать, накидаем программку. » Спасибо большое, если в дальнейшем не покатит - обращусь. Но пока вроде бы получилось. Правда немножко странно... сначала этот вариант не давал нужного вывода, но после удаления DTS-пакета и создания заново сработал.
Вопрос такой, говорят что DTS задания сильно "съедают" ресурсы сервера. Это соответствует действительности?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.