Как использовать sftp из модуля базы данных MS Access?

У меня есть требование создать простую базу данных в Access для сбора некоторых пользовательских данных, которые будут загружены в другую базу данных для дальнейшей отчетности. В базе данных Access будет модуль, который при вызове пользователем (вероятно, нажатием кнопки) будет выводить запрос в файл с разделителями. Пользователю также нужен механизм (например, форма с кнопкой), чтобы легко передать файл на удаленный сервер, используя sftp. Кто-нибудь знает, как это сделать?


person jamz    schedule 14.10.2008    source источник


Ответы (5)


Вы можете просто написать вызов клиенту командной строки sftp через пакетный файл, если хотите это сделать.

Проверьте функцию Shell() в VBA.

Под событием нажатия кнопки в вашей форме добавьте код:

mySFTPCall = "sftp <insert your options here!>"
Call Shell(mySFTPCall, 1)

Я использовал это раньше, чтобы просто копировать файлы прямо через общие сетевые ресурсы и т. Д., Чтобы обмениваться данными из внутренней базы данных Access. Конечно, вы могли бы получить больше фантазии, если это необходимо.

person Mat Nadrofsky    schedule 14.10.2008
comment
Если вы используете ShellAndWait (mvps.org/access/api/api0004.htm ) вы узнаете, когда сценарий завершится. - person David-W-Fenton; 15.10.2008
comment
@David - Спасибо за идею сценария ShellAndWait - мне нужна была эта опция. - person jamz; 28.10.2008
comment
@David - Хороший звонок, мой друг! - person Mat Nadrofsky; 28.10.2008

Вы можете использовать наш SFTPBlackbox (ActiveX Edition).

person Eugene Mayevski 'Callback    schedule 20.12.2008

Я бы предположил, что вам просто нужно найти COM-объект FTP. Затем вы сможете создать экземпляр этого в коде модуля доступа. На dart.com есть один, и я уверен, что их гораздо больше (только Google FTP COM).

person jmatthias    schedule 14.10.2008

Вы можете сделать вызов оболочки для приложения командной строки, такого как MOVEit Freely, который является бесплатным, для безопасной передачи по FTP. Я использовал его в прошлом, и у него есть несколько приятных функций, и он работал довольно хорошо.

MOVEit Freely — это бесплатный клиент FTP/secure FTP SSL (FTPS) с командной строкой для систем Windows Vista Business Edition, 2003, XP, 2000, ME и NT 4.0.

person micahwittman    schedule 14.10.2008
comment
@CodeSlave Верно. Для всех, кому интересно, вот несколько хороших комментариев — плюсы и минусы — FTPS против SFTP codeguru.com/csharp/.net/net_general/internet/article.php/ - person micahwittman; 15.10.2008

Chilkat имеет компонент FTP, который работает с COM/ActiveX. В нем говорится, что он поддерживает FTP через SSL (FTPS), что, я думаю, то же самое, что и SFTP. Раньше я использовал некоторые другие их продукты для .Net, и они работали очень хорошо. У них есть бесплатная пробная версия, так что вы ничего не потеряете, загрузив и проверив, работают ли они на вас.

person Kibbee    schedule 14.10.2008
comment
SFTP и FTSP не совсем одно и то же: en.wikipedia.org/wiki/SSH_file_transfer_protocol en.wikipedia.org/wiki/FTPS Серверы FTPS должны предоставлять сертификат открытого ключа. - person BIBD; 14.10.2008