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

Откуда:
Сообщений: 173
Добрый день!
Подскажите код переноса файлов с сервера FTP на сервер sql
10 май 18, 15:59    [21400418]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3708
assmsk
Добрый день!
Подскажите код переноса файлов с сервера FTP на сервер sql



perenos-33-22-33-11
10 май 18, 16:13    [21400460]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
assmsk
Добрый день!
Подскажите код переноса файлов с сервера FTP на сервер sql

ftp.exe
далее
open серверFTP.com
user
user_password
cd /ftp_folder
binary
mget file_csv
quit

далее
bcp file_csv и так далее с кошерными ключами
10 май 18, 16:48    [21400567]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Ролг Хупин
assmsk
Добрый день!
Подскажите код переноса файлов с сервера FTP на сервер sql



perenos-33-22-33-11

Автору темы нужно отправить SMS со кодом "ДА" на короткий номер XXYY и в ответ приедет "DBA на час", который перенесет нужные файлы с FTP и загрузит их в MSSQL базу.

А Ваш длинный код ему точно не поможет :)
10 май 18, 16:49    [21400570]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Eleanor
Member

Откуда:
Сообщений: 2867
assmsk,

Создайте ssis пакет - он умеет работать и с ftp и с Sql Server, и код писать не нужно.
10 май 18, 16:59    [21400600]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
assmsk
Member

Откуда:
Сообщений: 173
Andy_OLAP,
изначально так и пытался. Логина/пароля у меня нет, вхожу под anonymous.
Пишет, что успешно подключен, но при попытке выполнить загрузку файла и команды dir ошибка -


PORT/EPRT (Active Mode/Extended Active Mode) is not supported.


Пишу команду quote pasv, ситуация не меняется
10 май 18, 17:24    [21400657]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Konst_One
Member

Откуда:
Сообщений: 11518
не надо юзать стандартный виндусовый клиент ftp.exe и всё будет работать
10 май 18, 17:28    [21400673]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Konst_One
Member

Откуда:
Сообщений: 11518
юзайте это , например: https://winscp.net
10 май 18, 17:31    [21400675]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
assmsk
Member

Откуда:
Сообщений: 173
Konst_One,
рабочая машина, установить ничего нельзя
10 май 18, 17:36    [21400693]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Konst_One
Member

Откуда:
Сообщений: 11518
сочувствую, но ftp.exe не умеет passive mode
10 май 18, 17:37    [21400696]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
assmsk
Member

Откуда:
Сообщений: 173
Попробовал на сервере, все работает. Видимо на локальной машине мешает антивирус.
10 май 18, 17:43    [21400719]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Eleanor
assmsk,

Создайте ssis пакет - он умеет работать и с ftp и с Sql Server, и код писать не нужно.

Элеонора как всегда права.
"An FTP connection manager can send and receive files using either active mode or passive mode. In active mode, the server initiates the data connection, and in passive mode, the client initiates the data connection" - нужная ссылка.
10 май 18, 17:45    [21400726]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
assmsk
Member

Откуда:
Сообщений: 173
Через командную строку все работает, не могу теперь понять как эти команды впихнуть в xp_cmdshell
Нужно какими то символами разделять команды между собой?

exec master..xp_cmdshell
'ftp open testftp
user anonymous 123
cd tmp
get test_26.04.2018.csv C:\work\test1.csv'
11 май 18, 10:06    [21402191]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
assmsk
Через командную строку все работает, не могу теперь понять как эти команды впихнуть в xp_cmdshell
Нужно какими то символами разделять команды между собой?

exec master..xp_cmdshell
'ftp open testftp
user anonymous 123
cd tmp
get test_26.04.2018.csv C:\work\test1.csv'


Запускаете так exec master..xp_cmdshell 'ftp -s:C:\ftp_scripts\rebe_the_best.script -i'
Это позволяет выполнить интерактивно скриптовый файл с командами для FTP клиента встроенного.

А внутри rebe_the_best.script делаете так:

open границы_израиля.com
кошерный_user
кошерный_password
cd /кошерный_каталог_на_FTP
binary
mget локальный_файл.csv
quit
11 май 18, 12:36    [21402740]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
aleks222
Member

Откуда:
Сообщений: 959
assmsk
Через командную строку все работает, не могу теперь понять как эти команды впихнуть в xp_cmdshell
Нужно какими то символами разделять команды между собой?

exec master..xp_cmdshell
'ftp open testftp
user anonymous 123
cd tmp
get test_26.04.2018.csv C:\work\test1.csv'


Осподе милосердный!
Какой тока шняги не притащат.
Powershell могет фсе.

           $ftprequest = [System.Net.FtpWebRequest]::Create( $uri )
           $ftprequest.Credentials = $credentials
           $ftprequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile
           $responseStream = $ftprequest.GetResponse().GetResponseStream()

           $localfile = $target + $file
           $fileStream =  New-Object System.IO.FileStream( $localfile, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write )

           $responseStream.CopyTo($fileStream)
  
           $responseStream.Close()
           $fileStream.Close()
11 май 18, 18:18    [21403904]     Ответить | Цитировать Сообщить модератору
 Re: Перенос файлов c FTP на сервер  [new]
Massa52
Member

Откуда:
Сообщений: 379
assmsk,
Тут набор скриптов для закачки(есть и на Powershell)
https://winscp.net/eng/docs/scripts
13 май 18, 04:07    [21405989]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить