我们通常使用 Microsoft.ACE.OLEDB.12.0 来读取和写入 MS Access 数据库。在普通服务器上,您只需安装 Office 或 AccessDatabaseEngine_x64.exe 即可正常工作。
现在我们想将我们的应用程序移动到 Azure(最好是 Azure 网站,而不是 WebRole 或完整 VM)。但显然我们无法安装 Access 驱动程序。 还有其他方法可以在 Azure 上使用 Access 吗?也许是第 3 方驱动程序或可以使用用户权限运行/安装的东西。
我们查看了 dotConnect,但据我了解,这仍然需要 OLE DB。
切换到 Azure SQL 不是一个选项,因为 Access 被用作我们使用的第 3 方系统的“文件类型”。
最佳答案
特别是对于云服务,您可以执行以下操作:
- 创建一个包含您的核心项目/网站的云服务。
- 将 MDB 包含在从 (1) 封装的项目中。有很多方法可以做到这一点。
- 还包括您想要部署的任何可执行文件或脚本。您可以将它们添加到 Visual Studio 项目并将其“生成操作”设置为“内容”。
- 在打包的项目中,包含 WebRole.cs 文件并实现 RoleEntryPoint,并具体实现 public override bool OnStart()。这将允许您运行脚本、在文件系统上移动文件等。
使用 WebRole.cs 运行初始化代码的好处是,当 Azure 重新镜像您的云服务时,代码将始终运行并使计算机恢复到已知状态。
关于ms-access - 有没有办法在 Azure 网站上使用 MS Access DB(MDB 文件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27056615/