我需要从MS 2007 ( mdb和accdb文件)中提取用PHP 7编写的网站的数据。页面不需要是动态的或交互式的。他们只需要显示存储在数据库中的数据。
本地开发环境: Windows 7、IIS 7.5
在线服务器: A2主机,CloudLinux服务器版本6.9,CloudLinux/2.2.34
访问ADOdb网页上写着"Windows,Unix“。我认为这意味着我可以在本地环境中使用ADOdb连接访问,但不能在在线服务器上进行连接。我想我有以下几种选择:
我正确地理解了我的选择吗?我已经按照偏好的顺序列出了它们,所以除非有人提出不同的建议,否则我想我将使用第三个(提取到CSV,使用fgetcsv(),不使用ADOdb),因为前两个不能工作。
谢谢你的帮助。
发布于 2018-07-30 14:04:06
主要问题是ODBC驱动程序。{Microsoft Access Driver (*.mdb, *.accdb)}附带Microsoft或Microsoft数据库引擎,它们都是Windows专用的。
但是,还有一些在Unix和unixODBC上工作的备用ODBC驱动程序。一个流行的开放源码是mdbtools,它是有限的,但是可以使用PDO和ODBC连接到unix上的PHP。也有更全面的商业选择。
一旦完成了这个任务,在PHP中使用ODBC驱动程序就不会有问题了。请注意,在共享主机上,这可能是不可能的。
或者,您可以将php桥与UCanAccess一起使用。与mdbtools相比,这可能仍然是完全开放源代码和更全面的功能,但是正确设置更复杂。
发布于 2018-08-27 02:56:41
您不需要将“整个数据库”从Access转换为使用Mysql,只需转换表。然后,您可以使用MySql odbc连接器将它们链接回Access数据库,只要表名相同,您甚至不会注意到差异,您的所有表单、查询和所有内容都会正常工作。
然后,您将让MySql服务器在您的本地计算机上运行,如果您创建一个具有正确权限的用户并通过您的路由器转发端口(从端口3306或您分配给服务器的任何端口指向计算机)并允许流量通过防火墙,那么您的网站就可以访问、读取和写入您的数据库。
如果您想从php查询数据库,那么mysqli_query将运行得很好。大多数从数据运行的网站使用MySql运行,所以这也是一个未来的证明解决方案。
https://stackoverflow.com/questions/51595493
复制相似问题