执行位于SFTP上的MySQL脚本
我编写了一个Windows服务C,它连接到一个SFTP位置,解压一个包含MySQL脚本的文件,并执行这些脚本将数据注入MySQL数据库 我无法运行脚本。以下是我的流程: 使用Renci.SSHNet库连接到SFTP 创建将打开命令窗口的进程 创建一行,该行将使用适当的参数运行mysql.exe。下面是我在命令窗口中编写内容的示例: C:\Program Files x86\MySQL\MySQL Workbench 6.0 CE\MySQL.exe-user=username-password=password1-host=serverHostName-port=3306-database=mysqlData执行位于SFTP上的MySQL脚本,mysql,windows,sftp,Mysql,Windows,Sftp,我编写了一个Windows服务C,它连接到一个SFTP位置,解压一个包含MySQL脚本的文件,并执行这些脚本将数据注入MySQL数据库 我无法运行脚本。以下是我的流程: 使用Renci.SSHNet库连接到SFTP 创建将打开命令窗口的进程 创建一行,该行将使用适当的参数运行mysql.exe。下面是我在命令窗口中编写内容的示例: C:\Program Files x86\MySQL\MySQL Workbench 6.0 CE\MySQL.exe-user=username-password=
MySQL可以直接连接到SFTP吗?或者我必须先将文件拉到MySQL所在的服务器上吗?我只能猜测,没有看到您的代码 我假设您正在本地执行这些mysql.exe命令 第一个错误是由于您试图从sftp://URL重定向mysql.exe的输入而导致的。这在Windows上是不可能的,事实上,我不知道有任何操作系统可以做到这一点 第二个错误是由于试图从本地环境访问远程文件引起的 简单地说,您通过SFTP与Renci.SSHNet连接的事实并不能使该进程在本地和远程文件系统上神奇地工作 如果您的远程MySQL数据库可以使用本地MySQL.exe进行远程管理,那么解决方案是下载MySQL脚本并在本地使用它们
不过,如果您能够执行远程解压命令,那么您也应该能够执行远程MySQL客户端,而不是本地Windows MySQL.exe客户端。这将节省下载脚本和上传数据的带宽。这听起来像是一个很好的解决方案。你能澄清你实际上想做什么吗?可能有更好的方法来执行此过程。谢谢Martin。我几乎得出了相同的结论,但我想确定一下。我可能不得不将脚本下载到MySQL所在的服务器上。谢谢你的回复!