【问题标题】:Is it possible to upload ftp files from SQL server without xp_cmdshell?是否可以在没有 xp_cmdshell 的情况下从 SQL 服务器上传 ftp 文件?
【发布时间】:2017-08-13 13:46:55
【问题描述】:

理想情况下,希望从 SQL 查询或 SQL 代理作业运行某些内容以通过 FTP 将文件上传到外部站点,但不能使用 xp_cmdshell。

【问题讨论】:

  • 喜欢OPENROWSET?
  • 有一个可用的 SSIS 脚本可以处理 FTP 上传等。可以看到here
  • @Laughing Vergil 我为将来添加了书签 - 谢谢!到目前为止,我们还没有可用的 SSIS....
  • OPENROWSET 不需要 SSIS
  • @scsimon 你有示例代码吗?不知道如何通过 FTP 导出文件...

标签: sql-server tsql ftp


【解决方案1】:

是的。你需要把你的工作分成两个独立的任务:

  1. 如何在不借助 xp_cmdshell 的情况下从 SQL Server 中运行可执行程序或批处理程序。
    可以在以下位置找到如何操作的示例:
    https://www.mssqltips.com/sqlservertip/2014/replace-xpcmdshell-command-line-use-with-sql-server-agent/.
    您应该修改此示例以满足您的特定需求。建议的存储过程将:
    • 在创建的动态 SQL 作业中作为参数传递的运行命令(表示 CmdExec 子系统)
    • 等待 SQL 作业完成(查询 msdb.dbo.sysjobactivity)或在达到预定义的超时值时终止作业
    • 返回作业执行结果(查询 msdb.dbo.sysjobhistory)
    • 删除作业

注意:需要完整版的 SQL Server。如果您使用的是 express 版本,则必须手动定义一个 windows 计划任务。

  1. 如何使用批处理程序通过 ftp 发送文件。
    请看:
    How to ftp with a batch file?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 2013-04-18
    • 2018-09-15
    • 1970-01-01
    相关资源
    最近更新 更多