powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Экспорт в файл
4 сообщений из 4, страница 1 из 1
Экспорт в файл
    #32029799
Здраствуите!
Как сохранить ресультат запроса в текстовый файл не прибегая к помощи bsp и dts?
Не помню синтаксис. На форуме уже был вопрос выше - не нашёл.

Спасибо
...
Рейтинг: 0 / 0
Экспорт в файл
    #32029800
Dimos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы это хотите одноразово или программно? Если одноразово, тогда Query Analyzer вполне сгодится (copy/paste or right-click на результатах выполнения и "Save as").
Если программно без bcp и dts - тогда используйте метод ADODB.Recordset::Save() - получите XML
или GetRows() - получите массив (двумерный) данных. Первый индекс - номер поля. Второй индекс - номер записи
или GetString() - получите здоровенную строку.
В последних двух случаях данные в файл придется пихать самомоу.
...
Рейтинг: 0 / 0
Экспорт в файл
    #32029842
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы про возможность вывода в T-SQL, то есть

1. "простой" способ

\nDECLARE @result int

EXEC @result = xp_cmdshell 'osql -S RLEHIRAP -E -Q "SELECT TOP 10 * FROM pubs.dbo.authors" -b -o c:\myoutput.txt', no_output
IF (@result = 0)
PRINT 'Success'
ELSE
PRINT 'Failure'


Но некоторые "особенности" вывода утилиты osql/isql могут несколько неудовлетворить вас

2. более трудоемкий способ
\nDECLARE @FileName varchar(255),
@Text1 varchar(8000),
@FS int,
@OLEResult int,
@FileID int,
@hr int,
@source varchar(30),
@desc varchar (200)

EXECUTE @OLEResult = sp_OACreate 'Scripting.FileSystemObject', @FS OUTPUT

IF @OLEResult <> 0
BEGIN
PRINT 'Scripting.FileSystemObject'
GOTO Error_Handler
END

execute @OLEResult = sp_OAMethod @FS,'CreateTextFile',@FileID OUTPUT, 'c:\func.txt'
IF @OLEResult <> 0
BEGIN
PRINT 'CreateTextFile'
GOTO Error_Handler
END

execute @OLEResult = sp_OAMethod @FileID, 'WriteLine', NULL, 'dsfgsdfgsdf'
IF @OLEResult <> 0
BEGIN
PRINT 'WriteLine'
GOTO Error_Handler
END

Print @Text1
goto Done

Error_Handler:
PRINT '*** ERROR ***'
EXEC @hr = sp_OAGetErrorInfo null, @source OUT, @desc OUT
SELECT hr = CONVERT (binary(4), @hr), source = @source, description = @desc

Done:
EXECUTE @OLEResult = sp_OADestroy @FileID
EXECUTE @OLEResult = sp_OADestroy @FS
...
Рейтинг: 0 / 0
Экспорт в файл
    #32029989
Спасибо! То, что нужно. Про особенности первого способа я помню.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Экспорт в файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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