Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Export результата запроса в текстовый файл  [new]
AlexDE
Member

Откуда: Bayern, Germany
Сообщений: 241
Раза 2 - 3 в месяц надо перекидывать данные из одной проги в другую.
сейчас использую DTS, но хотел бы, чтобы юзер сам это делал.
Хотел создать *.bat файл и использовать osql. Но не могу понять как задать файл вывода. К тому-же нужно задать формат: разделитель полей ";", первая строка - имя поля. Делается это в osql или в самом запросе?
Пример запроса:

SELECT CONVERT(char(10), FibAErfassungsdatum, 104) AS Belegdatum,
FibAAbrechnungsDatum, FibAArt AS Belegnummernkreis,
FibABelegnummer AS Belegnummer, 'Erlöse ' + CAST(FibAMwstSatz AS char(2)) + '% USt: ' + FibAText AS Buchungstext, FibABruttowert * - 1 AS Buchungsbetrag,
FibAGegenkonto AS Sollkonto,
FibAKonto AS Habenkonto, KZWaehrung AS Währung, CONVERT(char(10),
GETDATE(), 104) AS Buchungsdatum
FROM cis.UebergabeFibuAusgang
WHERE (FibAAbrechnungsNummer IS NULL) AND (FibAArt = 'RA') AND FibABruttowert!=0

Заранее спасибо.
7 июн 05, 14:42    [1603031]     Ответить | Цитировать Сообщить модератору
 Re: Export результата запроса в текстовый файл  [new]
Paul Sacks
Member

Откуда:
Сообщений: 1105
Может это поможет?
https://www.sql.ru/faq/faq_topic.aspx?fid=122
7 июн 05, 14:48    [1603058]     Ответить | Цитировать Сообщить модератору
 Re: Export результата запроса в текстовый файл  [new]
AlexDE
Member

Откуда: Bayern, Germany
Сообщений: 241
Я попробовал по другому.
Создал export.bat. Но результат нулевой.
Создался пустой файл с именем test.txtexport.SQL

И кстати как его отформатировать

@ECHO OFF
IF "%1"=="?" GOTO FEHLER
IF "%1"=="" GOTO FEHLER
IF "%2"=="" GOTO FEHLER
IF "%3"=="" GOTO FEHLER
IF "%4"=="" GOTO FEHLER

SET EX_SQL=OSQL -S %1 -U %2 -P %3 -d %4 -n -o z:\test.txt
SET AUSGABE_SQL=CON
SET AUSGABE_SQL_NAME=%TMP%\Export.RPT
IF "%5"=="-P" SET WARTE_PAUSE=PAUSE
IF "%6"=="-P" SET WARTE_PAUSE=PAUSE
IF "%7"=="-P" SET WARTE_PAUSE=PAUSE
IF "%5"=="-P" SET WARTE_ECHO=ECHO.
IF "%6"=="-P" SET WARTE_ECHO=ECHO.
IF "%7"=="-P" SET WARTE_ECHO=ECHO.
IF "%5"=="-O" SET AUSGABE_SQL=%AUSGABE_SQL_NAME%
IF "%6"=="-O" SET AUSGABE_SQL=%AUSGABE_SQL_NAME%
IF "%7"=="-O" SET AUSGABE_SQL=%AUSGABE_SQL_NAME%
IF "%5"=="-VO" SET AUSGABE_SQL=%AUSGABE_SQL_NAME%
IF "%6"=="-VO" SET AUSGABE_SQL=%AUSGABE_SQL_NAME%
IF "%7"=="-VO" SET AUSGABE_SQL=%AUSGABE_SQL_NAME%

ECHO.
ECHO Update EXPORT
ECHO.

ECHO. >%AUSGABE_SQL%

ECHO. >>%AUSGABE_SQL%
ECHO export.SQL >>%AUSGABE_SQL%
%EX_SQL%export.SQL >>%AUSGABE_SQL%
%WARTE_ECHO%

IF "%5"=="-VO" NOTEPAD %AUSGABE_SQL_NAME%
IF "%6"=="-VO" NOTEPAD %AUSGABE_SQL_NAME%
IF "%7"=="-VO" NOTEPAD %AUSGABE_SQL_NAME%
IF "%5"=="-V" PAUSE
IF "%6"=="-V" PAUSE
IF "%7"=="-V" PAUSE
IF "%5"=="-VO" PAUSE
IF "%6"=="-VO" PAUSE
IF "%7"=="-VO" PAUSE

SET EX_SQL=
SET WARTE_ECHO=
SET WARTE_PAUSE=
SET AUSGABE_SQL=
SET AUSGABE_SQL_NAME=
GOTO TENDE

:FEHLER
ECHO.
ECHO Aufruf: UPDATE Server Name Password Datenbank
ECHO -P Pause nach jedem Befehl
ECHO -O Ausgabe in Datei umleiten
ECHO.
ECHO.
GOTO TENDE

:TENDE
7 июн 05, 17:13    [1603866]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить