我有一个Access 2010前端数据库+ MySQL作为后端。到目前为止,它运行良好。我想上传文档,并决定保存在服务器上,而不是在数据库上。我的第一个问题是,我如何从访问前端上传文件到远程服务器/位置?
我在想,也许将数据存储在数据库上,并使用某种触发器或脚本从数据库读取blob文件并保存在服务器上,以及将文件路径填充到另一列。
是否有更简单的方法从访问前端上传文件到远程服务器?我使用MySQL服务器作为后端。
thank you in advance
SFTP和油灰
这可能会对你有所帮助——这是一个很好的例子,在Windows机器上使用Putty通过SFTP与Linux服务器使用VBA进行通信:
您需要在每台使用Access的Windows机器上安装putty,并确保Linux服务器上有适当的权限。
自定义插件
您可以使用。net创建一个外接程序,以便通过套接字将文件传输到服务器,但这需要您编写一个服务器端应用程序来侦听请求。作为开发人员,您可以完全自由地选择如何实现它,但代价是增加您自己的复杂性。
你需要:
- 使用Visual Studio(或其他。net IDE)创建一个加载项
- 将此添加到您的Access应用程序中,并使用您构建的API。
- 创建一个服务器端应用程序来监听它(这可以是一个简单的Python应用程序)
SMTP方法
如果你想有创意,你可以使用Access的CDO功能将文件发送到你自己的模拟SMTP服务器:使用Access发送电子邮件
同样,您必须创建一个处理程序应用程序来处理SMTP协议,但我相信那里有一些很好的例子。
HTTP方法你甚至可以对文件进行编码,并通过HTTP将其发送到一个简单的POST请求的PHP服务器:Access的web请求示例你需要将文件编码为base64或其他文件或文件处理文件上传的方式。
结论如您所见,到目前为止最简单的方法是使用Putty,但是您也可以采用一些有趣的自定义方法。
我想说使用SMTP或HTTP将是合适的,但这取决于您设置服务器端处理程序的容易程度。您可以使用现有的SMTP模拟器来处理接收和管理文件。
这可能对某人有帮助。
我使用了Chilkat FTP activeX组件,它工作得很好。Chilkat提供了从他的网站上复制的预写代码,一切都很好。虽然我不知道如何显示转移进度。
的问候krish