我有一个 Access 2010 前端数据库 + MySQL 作为后端。到目前为止,它工作正常。我想上传文件并决定保存在服务器上而不是数据库上。我的第一个问题是,如何将文件从访问前端上传到远程服务器/位置?
我在想,也许将数据存储在数据库中并使用某种触发器或脚本从数据库中读取 blob 文件并保存在服务器上,并将文件路径填充到另一列中。
有没有更简单的方法将文件从访问前端上传到远程服务器?我使用 MySQL 服务器作为后端。
先感谢您
带有腻子的 SFTP
这可能会对您有所帮助 - 这是在 Windows 机器上使用 Putty 通过 SFTP 与使用 VBA 的 Linux 服务器进行通信的一个很好的示例:SFTP upload with VBA
您需要在每台使用 Access 的 Windows 计算机上安装 putty,并确保 Linux 服务器上具有适当的权限。
自定义加载项
您可以使用 .NET 创建一个加载项,以便通过套接字将文件传输到服务器,但这需要您编写一个服务器端应用程序来侦听请求。作为开发人员,您可以完全自由地选择如何实现它,但会增加您自己的复杂性。
您需要:
SMTP 方法
如果您想发挥创意,您可以使用 Access 的 CDO 功能将文件通过电子邮件发送到您自己的模拟 SMTP 服务器:使用 Access发送电子邮件
同样,您必须创建一个处理程序应用程序来处理 SMTP 协议,但我确信那里有一些很好的示例。
HTTP 方法
您甚至可以对文件进行编码,并通过 HTTP 在简单的 POST 请求中将其发送到简单的 PHP 服务器:使用 Access 的示例 Web 请求您需要将文件编码为 base64 或其他文件或文件以处理文件上传。
结论
如您所见,迄今为止最简单的方法是使用 Putty,但您可以采用一些有趣的自定义方法。
我会说使用 SMTP 或 HTTP 都合适,但这取决于您设置服务器端处理程序的难易程度。可能有现有的 SMTP 模拟器,您可以使用它们来处理接收和管理文件。
这可能会帮助某人。
我使用了 Chilkat FTP activeX 组件并且它工作正常。Chilkat 提供了刚刚从他的网站复制的预先编写的代码,一切都很好。虽然我找不到如何显示传输进度。
问候克里什