powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Export xml файл на папку FTP
10 сообщений из 10, страница 1 из 1
Export xml файл на папку FTP
    #39789929
Hovo Avanesyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
SET @bcpCommand = 'bcp "' + @SQLCode + '" queryout '
SET @FilePath = ?
SET @OutputFile = @DateGet
SET @bcpCommand = @bcpCommand + @FilePath + @OutputFile + ' -c -t, -T -S HOVO-PC\ASACC14'
exec master..xp_cmdshell @bcpCommand





Как экспортировать файл в эту папку (FTP folder - ftp://173.249.12.81/ )

Спасибо
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39789937
Serп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hovo Avanesyan,

как вариант:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Declare 
		@command nvarchar(2000),
		@ftpcommand varchar(4000),
		@FS int, 
		@OLEResult int, 
		@FileID int


	   
set @ftpcommand = 'login
pass
put '+@FilePath + @OutputFile+'
quit';

EXECUTE @OLEResult = sp_OACreate 'Scripting.FileSystemObject', @FS OUTPUT
execute @OLEResult = sp_OAMethod @FS,'CreateTextFile',@FileID OUTPUT, 'c:\temp\PutFile.txt'
execute @OLEResult = sp_OAMethod @FileID, 'WriteLine', NULL, @ftpcommand
EXECUTE @OLEResult = sp_OADestroy @FileID
EXECUTE @OLEResult = sp_OADestroy @FS 	
set @Command = N'ftp -s:c:\temp\PutFile.txt 173.249.12.81'
EXEC xp_cmdshell @command
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39789944
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hovo Avanesyan
Код: sql
1.
2.
3.
4.
5.
SET @bcpCommand = 'bcp "' + @SQLCode + '" queryout '
SET @FilePath = ?
SET @OutputFile = @DateGet
SET @bcpCommand = @bcpCommand + @FilePath + @OutputFile + ' -c -t, -T -S HOVO-PC\ASACC14'
exec master..xp_cmdshell @bcpCommand




Как экспортировать файл в эту папку (FTP folder - ftp://173.249.12.81/ )

Спасибо

1. Выгружаем файл на локальный диск.
2. Любым клиентом FTP копируем его на FTP-сервер.
3. PowerShell - выбор настоящего джигита.
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39789948
Hovo Avanesyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

Xml генерируется при работе stored procedure автоматически.
На локальный диск без проблем работает. Можно прямим обращаться к ftp и экспортировать туда ?

Вот пример
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
USE [Raf_Flor_Trade]
GO
/****** Object:  StoredProcedure [dbo].[asp_deleteMT]    Script Date: 3/21/2019 7:31:32 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[asp_deleteMT]   @MTID int , @TS varbinary(8) , @RowCount int OUTPUT   AS     


DECLARE @Unit nvarchar(max) = ISNULL((SELECT fUNIT FROM MATERIALS WHERE fMTID = @MTID), '')
DECLARE @Group nvarchar(max) = ISNULL((SELECT fGROUP FROM MATERIALS WHERE fMTID = @MTID), '')
DECLARE @GCaption nvarchar(max) = ISNULL((SELECT fCAPTION FROM MTGROUP WHERE fCODE = @Group),'')
DECLARE @UCaption nvarchar(max) = ISNULL((SELECT fCAPTION FROM QNTUNIT WHERE fCODE = @Unit),'')
DECLARE @Caption nvarchar(max) = ISNULL((SELECT fCAPTION FROM MATERIALS WHERE fMTID = @MTID),'')
DECLARE @Code nvarchar(max) = ISNULL((SELECT fMTCODE FROM MATERIALS WHERE fMTID = @MTID),'')
DECLARE @Discount nvarchar(max) = ISNULL((SELECT fDISCOUNT FROM MATERIALS WHERE fMTID = @MTID),'')
DECLARE @Price nvarchar(max) = ISNULL((SELECT fPRICE FROM PRICES WHERE fMTID = 100912 AND fDATE =  (SELECT MAX(fDATE) FROM PRICES WHERE fMTID = @MTID) AND fPRICETYPE = '02'), '')
DECLARE @GetDate nvarchar(max) = REPLACE(REPLACE(REPLACE(convert(varchar, getdate(), 121), ':', ''), '.', ''), ' ', '')
DECLARE @DateGet nvarchar(max) = @GetDate + '.xml'
DECLARE @OutputFile NVARCHAR(100) ,    @FilePath NVARCHAR(100) ,    @bcpCommand NVARCHAR(1000)



DECLARE @SQLCODE nvarchar(4000) =
'SELECT ''Delete'' AS [Type], ''' + @Code + ''' AS Code, N''' + @Caption + ''' AS Name, ''' + REPLACE(@Unit,' ','') + ''' AS UnitCode, N''' + @UCaption + ''' AS UnitName, ''' + REPLACE(@Group,' ','') + ''' AS GroupCode, N''' + @GCaption + ''' AS GroupName, ''' +convert(varchar, @Price)+ ''' AS Price, ''' +convert(varchar, @Discount)+ ''' AS Discount FOR XML PATH (''ROW''), ROOT (''ROWS'')'


SET @bcpCommand = 'bcp "' + @SQLCode + '" queryout '
SET @FilePath = 'C:\aaa\' -- как поменять на ftp folder
SET @OutputFile = @DateGet
SET @bcpCommand = @bcpCommand + @FilePath + @OutputFile + ' -c -t, -T -S HOVO-PC\ASACC14'
exec master..xp_cmdshell @bcpCommand

DELETE FROM MATERIALS     WHERE fMTID = @MTID AND fTS = @TS     SET @RowCount = @@ROWCOUNT 
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39790053
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hovo Avanesyan Можно прямим обращаться к ftp и экспортировать туда ?
Канешно можно.

BCP доступен в сборках .NET.
FTP клиент - тоже там есть.

Делоффф то. Берешь и пишешь программулину.
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39790077
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hovo AvanesyanМожно прямим обращаться к ftp и экспортировать туда ?

это, походу, ищешь - Команда FTP
Только учти, с этим есть веский "ньюанс" :)
авторКак видно из списка перечисленных команд, стандартный клиент FTP в операционных системах Windows поддерживает далеко не полный перечень стандартных ftp-команд и, что самое неприятное, он не поддерживает команду переключения в пассивный режим ( passv ) обмена с сервером FTP, что делает его непригодным для обмена данными с серверами FTP, подключение к которым выполняется с использованием технологии трансляции сетевых адресов NAT. Другими словами, для обмена файлами с внешними, по отношению к подсети клиента, серверами, стандартный FTP-клиент не подходит. Это касается всех версий Windows, включая и Windows 10. Именно этот факт предопределяет область использования утилиты ftp.exe - только в локальных сетях, где возможно прямое TCP-соединение между клиентом и сервером .
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39790084
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно, выше - 21840441 , это уже и показали
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39895823
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serп
Hovo Avanesyan,

как вариант:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Declare 
		@command nvarchar(2000),
		@ftpcommand varchar(4000),
		@FS int, 
		@OLEResult int, 
		@FileID int


	   
set @ftpcommand = 'login
pass
put '+@FilePath + @OutputFile+'
quit';

EXECUTE @OLEResult = sp_OACreate 'Scripting.FileSystemObject', @FS OUTPUT
execute @OLEResult = sp_OAMethod @FS,'CreateTextFile',@FileID OUTPUT, 'c:\temp\PutFile.txt'
execute @OLEResult = sp_OAMethod @FileID, 'WriteLine', NULL, @ftpcommand
EXECUTE @OLEResult = sp_OADestroy @FileID
EXECUTE @OLEResult = sp_OADestroy @FS 	
set @Command = N'ftp -s:c:\temp\PutFile.txt 173.249.12.81'
EXEC xp_cmdshell @command



СПАСИБО ВАМ за этот вариант!
Пригодилось!)
Вопрос правда есть - как изменить папку в которую записывается файл, т.е копировать не в корень "173.249.12.81", а например в
"173.249.12.81/public_html/zub/tmp/stockTEST.csv"
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39895834
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-

СПАСИБО ВАМ за этот вариант!
Пригодилось!)
Вопрос правда есть - как изменить папку в которую записывается файл, т.е копировать не в корень "173.249.12.81", а например в
"173.249.12.81/public_html/zub/tmp/stockTEST.csv"


Воспользоваться гуглом.

Например: https://ab57.ru/cmdlist/ftp.html

Вам, видимо, нужно в перечень команд добавить cd с путем к нужному каталогу.
...
Рейтинг: 0 / 0
Export xml файл на папку FTP
    #39896231
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Minamoto,
Спасибо за подсказку!
Всё получилось)))
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Export xml файл на папку FTP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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