powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Скачать файл с FTP-сервера
11 сообщений из 11, страница 1 из 1
Скачать файл с FTP-сервера
    #39922214
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О ГУРУ SQL, подскажите как скачать файл с 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.
DECLARE @maindir varchar(128) = '\\WDMYCLOUD\Public\testLEBED\'
DECLARE @FTPServer	varchar(128)='777.88.555.22';
DECLARE @FTPUser	varchar(128)='user';
DECLARE @FTPPWD	varchar(128)='pass';
declare	@cmd varchar(200);
declare @workdir varchar(128) = @maindir + 'tmp\';
declare @workfilename varchar(12) = 'ftpTESTLEBED.txt';

set @FTPServer = replace(replace(replace(@FTPServer, '|', '^|'),'<','^<'),'>','^>')
set @FTPUser = replace(replace(replace(@FTPUser, '|', '^|'),'<','^<'),'>','^>')
set @FTPPWD = replace(replace(replace(@FTPPWD, '|', '^|'),'<','^<'),'>','^>')

set	@cmd = 'echo ' + 'open ' + @FTPServer+ ' > ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd			
set	@cmd = 'echo '+ @FTPUser+ '>> ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd
set	@cmd = 'echo '+ @FTPPWD+ '>> ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd
set	@cmd = 'echo get ' +'public_html/watch-parts.ru/upload/test.txt'+ '>> ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd
set	@cmd = 'echo '+ 'quit'+ ' >> ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd
set @cmd = 'ftp -s:' + @workdir + @workfilename
exec master..xp_cmdshell @cmd



мне надо скачать файл public_html/watch-parts.ru/upload/test.txt в файл ftpTESTLEBED.txt.

Сейчас же в этот файл просто записываются команды((

Спасибо заранее за помощь!
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922232
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922235
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-,

SQL сервер можно научить музыку играть или лампочки включать. Только этого никто не делает почему-то.
Напишите приложение, то же CMD или VBS, powershell или используйте SSIS.
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922240
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов
-SWAN-,

SQL сервер можно научить музыку играть или лампочки включать. Только этого никто не делает почему-то.
Напишите приложение, то же CMD или VBS, powershell или используйте SSIS.


Мы не ищем лёгких путей)))
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922245
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-
Владислав Колосов
-SWAN-,

SQL сервер можно научить музыку играть или лампочки включать. Только этого никто не делает почему-то.
Напишите приложение, то же CMD или VBS, powershell или используйте SSIS.


Мы не ищем лёгких путей)))

Тогда, сначала напишите работающий cmd файл, который делает требуемые вам действия.
А когда возникнут проблемы со сбором такой строки на SQL, возвращайтесь.
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922252
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-,

утилита FTP.exe может использовать командный файл.
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922254
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex
-SWAN-
пропущено...


Мы не ищем лёгких путей)))

Тогда, сначала напишите работающий cmd файл, который делает требуемые вам действия.
А когда возникнут проблемы со сбором такой строки на SQL, возвращайтесь.


В том то и проблем - командная строка "не видит" FTP-путь(((

copy public_html/watch-parts.ru/upload/test.txt \\WDMYCLOUD\Public\testLEBED\tmp\ftpTESTLEBED.txt

вот так не проходит с командной строкой(((
Может есть какой-нибудь обходной путь?
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922257
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-
msLex
пропущено...

Тогда, сначала напишите работающий cmd файл, который делает требуемые вам действия.
А когда возникнут проблемы со сбором такой строки на SQL, возвращайтесь.


В том то и проблем - командная строка "не видит" FTP-путь(((

copy public_html/watch-parts.ru/upload/test.txt \\WDMYCLOUD\Public\testLEBED\tmp\ftpTESTLEBED.txt

вот так не проходит с командной строкой(((
Может есть какой-нибудь обходной путь?

У вас не работает команда copy? Тогда при чем здесь SQL Server?
Если у вас проблемы с правильным cmd файлом, решите сначала их.
Если нужна помощь, то задавайте вопрос в соответствующем форуме. Windows , наверно, самый подходящий.
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922268
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-
О ГУРУ SQL, подскажите как скачать файл с 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.
DECLARE @maindir varchar(128) = '\\WDMYCLOUD\Public\testLEBED\'
DECLARE @FTPServer	varchar(128)='777.88.555.22';
DECLARE @FTPUser	varchar(128)='user';
DECLARE @FTPPWD	varchar(128)='pass';
declare	@cmd varchar(200);
declare @workdir varchar(128) = @maindir + 'tmp\';
declare @workfilename varchar(12) = 'ftpTESTLEBED.txt';

set @FTPServer = replace(replace(replace(@FTPServer, '|', '^|'),'<','^<'),'>','^>')
set @FTPUser = replace(replace(replace(@FTPUser, '|', '^|'),'<','^<'),'>','^>')
set @FTPPWD = replace(replace(replace(@FTPPWD, '|', '^|'),'<','^<'),'>','^>')

set	@cmd = 'echo ' + 'open ' + @FTPServer+ ' > ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd			
set	@cmd = 'echo '+ @FTPUser+ '>> ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd
set	@cmd = 'echo '+ @FTPPWD+ '>> ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd
set	@cmd = 'echo get ' +'public_html/watch-parts.ru/upload/test.txt'+ '>> ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd
set	@cmd = 'echo '+ 'quit'+ ' >> ' + @workdir + @workfilename
exec master..xp_cmdshell @cmd
set @cmd = 'ftp -s:' + @workdir + @workfilename
exec master..xp_cmdshell @cmd



мне надо скачать файл public_html/watch-parts.ru/upload/test.txt в файл ftpTESTLEBED.txt.

Сейчас же в этот файл просто записываются команды((

Спасибо заранее за помощь!

авторThe echo command repeats typed text back to the screen and can send text to a peripheral on the computer, such as a COM port.

а параметр ">" показывает куда перенаправлять вывод, в Вашем случае это файл
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922281
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
-SWAN-,

SQL сервер можно научить музыку играть или лампочки включать. Только этого никто не делает почему-то.
Напишите приложение, то же CMD или VBS, powershell или используйте SSIS.
Так ТС и пользуется приложением, он же не на T-SQL скачивает :-)
-SWAN-
мне надо скачать файл public_html/watch-parts.ru/upload/test.txt в файл ftpTESTLEBED.txt.

Сейчас же в этот файл просто записываются команды((
Вы сначала отладьте ваши команды, а потом запускайте их из сиквела.
Это как бы разные задачи.

Что бы понимать, что вы там запускали, замените exec master..xp_cmdshell @cmd на print @cmd
Вопросы по отладке cmd-команд можно задать в разделе Windows (хотя это так просто, что и тут ответят)
Но вам нужно показать, какие команды вы выполняете, а то никому неохота их восстанавливать по сиквельному скрипту.
...
Рейтинг: 0 / 0
Скачать файл с FTP-сервера
    #39922355
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО ВСЕМ ЗА ПОМОЩЬ!
Сделал немного по-другому (но в целом всё то же самое)))

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
---FTP
Declare 
		@command nvarchar(2000),
		@ftpcommand varchar(4000),
		@FS int, 
		@OLEResult int, 
		@FileID int
	   
set @ftpcommand = 'user
pass
get public_html/watch-parts.ru/upload/test.txt \\WDMYCLOUD\Public\testLEBED\tmp\QQQ.txt 
quit';
--mget *.txt

EXECUTE @OLEResult = sp_OACreate 'Scripting.FileSystemObject', @FS OUTPUT
execute @OLEResult = sp_OAMethod @FS,'CreateTextFile',@FileID OUTPUT, '\\WDMYCLOUD\Public\testLEBED\tmp\NEWPutFile.txt'
execute @OLEResult = sp_OAMethod @FileID, 'WriteLine', NULL, @ftpcommand
EXECUTE @OLEResult = sp_OADestroy @FileID
EXECUTE @OLEResult = sp_OADestroy @FS 	

set @Command = N'ftp -s:\\WDMYCLOUD\Public\testLEBED\tmp\NEWPutFile.txt 777.22.555.88'
EXEC xp_cmdshell @command
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Скачать файл с FTP-сервера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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