powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Sql Server 7.0 в текстовый файл
15 сообщений из 15, страница 1 из 1
Sql Server 7.0 в текстовый файл
    #32001862
Леван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно cбрасывать данные из Sql Server 7.0 в текстовый файл при чем имя файла должно каждый раз изменяться
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001863
Андрюшка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ты попробуй Data Transformation Services. Создай сценарий експорта в EM (All tasks >>> Export Data >>> Source (SQL Server)>>> Destination (Text file), задай периодичность (Schedule DTS package) и все вроде. Только незабудь что и откуда експортировать (можешь таблицу, а можешь по запросу).
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001868
levan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да но в этом случае как будет меняться имя файла ?
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001869
Андрюшка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перепиши DTS процедуру с условием изменения имени файла, ну например дата + что-то. Для этого сохрани DTS package в Local repository, потом его оредактируй. Почитай books online, там довольно подробно все описанно.
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001871
Леван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слушай там слишком много в каком направлении хоть идти подскажи (заранее благодарен)
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001872
Oleg F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хранимая процедура, написанная на Transact-SQL, не умеет писать в текстовый файл.
Но зато можно написать внешнюю хранимую процедуру (extended stored procedure) на Си, которая будет это делать. И эту внешнюю процедуру можно запускать по расписанию (с помощью SQL Agent).
А в Visual C++ 6.0 есть визард, который создаёт заготовку для внешней хранимой процедуры SQL Server-а.
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001873
Oleg F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот ещё более простая идея. Есть такая утилита командной строки bcp, позволяющая как импортировать так и экспортировать данные в текстовый формат. А SQL Agent позволяет создавать задания, запускающиеся по расписанию, причём не только SQL-команды, но он ещё позволяет запускать команды операционной системы!
Поэтому можно попробовать запускать по расписанию bcp, подсовывая ему все необходимые параметры (имя и пароль пользователя, название таблицы которую нужно выгружать, определение формата выгрузки). Утилите bcp можно подсунуть также и файл, который содержит всю эту управляющую информацию.
Т.к. тебе нужно, чтобы эта информация менялась (в данном случае чтобы менялось имя текстового файла), то можно с помощью того же планировщика заданий запускать программку, которая будет этот управляющий файл изменять.
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001879
Yanis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос 1: А как вообще может выглядеть код с использованием BCP (В хелпе неясно)
Вопрос 2: И вообще, как запускать BCP
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001880
Yanis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iodv_nak - база данных
pzo - таблица внем
dbsql - сервер
pp - юзер
ddd - пароль

а вот и код: "bcp iodv_nak.pzo out d:\authors.txt /c -Sdbsql -Upp -Pddd"
если есть ошибки поомоогиитеее
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001882
Oleg F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем help? Microsoft про него целый роман написала, всё очень подробно.
Смотри on-line books, а точнее книгу Administering SQL Server, главу Importing and Exporting Data (а в ней Copying Data Using bcp).
Ну а наизусть этих параметров я думаю никто не помнит.
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001885
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.BCP есть утилита командной строки, соотв-но, пускать ее из-под сервера нужно через xp_cmdshell. Пример: master..xp_cmdshell "bcp.exe Northwind..customers out d:\temp©ust.txt -c -q -T -SMachineName\InstanceName -C1251". Краткое описание ключей - bcp /?. Понятно, что здесь можно скомбинировать и подставить любое имя файла.
2.Для справки. Аналогичный оператор T-SQL называется BULK INSERT. Однако, как следует из названия, он работает только в одном направлении (файл данных -> SQL Server) в отличие от bcp.
3.Сделать DTS-преобразование из SQLной таблицы в текстовый файл, сохранить его как .bas и перед каждым выполнением вручную или автоматически подправлять строку oConnection.DataSource = "D:\Temp©ust.txt". Подробности и сравнение с 1, 2 см. SQL Server Professional
4.Способ 3 удобен, когда перенос выполняется из приложения. Если же такая задача не стоит и достаточно обойтись интерактивным кнопконажимательством в ЕМ, предлагается использовать DTS templates - болванки пакетов, в которых большинство св-в постоянны, но некоторые могут меняться от вызова к вызову (в Вашем случае - название назначения на текстовом соединении). Как это сделать описано в MSDN .
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001891
Yanis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу уточнить свой вопрос.
Моя задача стоит в том, чтобы процедура экспорта в текстовый файл делалась
именно на SQL сервере в "Storage Procedures", и вызывалась программой именно
оттуда (программирую я в Visual FoxPro 6.0, програмный код в Дельфи и на ФоксПро
меня не устраивает).
Что касается Help-ов, лучше русские источники (англиский я знаю не важно)
Заранее Благодарю ...
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001894
Oleg F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда самый простой и дубовый вариант решения задачи (раз уж не хочется разбираться с bcp или DTS).
Пишешь свою утилиту командной строки типа bcp на своём FoxPro. Кладёшь exe-шник на сервер и запускаешь его по расписанию с помощью планировщика заданий Windows NT или SQL Server-а. А уж в своей программе чего угодно напишешь, и какую таблицу выгружать, и в какой файл.
Раз уж тебе свою программу проще написать, чем уже с готовой bcp разобраться, то пиши свою.
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001895
Oleg F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, кстати, тут коллега уже объяснил, я его процитирую:
"...утилита командной строки, соотв-но, пускать ее из-под сервера нужно через xp_cmdshell..."
Иными словами, любой exe-шник, который лежит на сервере, можно запустить из SQL Server-а (в т.ч. из хранимой процедуры).
...
Рейтинг: 0 / 0
Sql Server 7.0 в текстовый файл
    #32001941
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, кстати, какая мысль меня еще посетила. Делаем обычный пакет DTS по трансформации таблички с SQLного соединения в какой-нибудь текстовый файл. Обзываем этот файл, как Бог на душу положит. Перед преобразованием ставим еще одну task типа ActiveX Script в виде:

Function Main()
dim dtsPack
set dtsPack = DTSGlobalVariables.Parent
dim dtsTextCnn
set dtsTextCnn = dtsPack.Connections("Text File (Destination)")
dtsTextCnn.DataSource = "D:\Temp\Test©cc.txt"
Main = DTSTaskExecResult_Success
End Function

Где D:\Temp\Test©cc.txt - конкретный нужный нам файл. В принципе можно держать его в глобальной переменной пакета, и читать оттуда в dtsTextCnn.DataSource. А глобальную переменную подправлять в нужное имя файла перед каждым выполнением пакета. От этого stepa к преобразованию протягиваем стрелочку "On success". Все.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Sql Server 7.0 в текстовый файл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]