在工作中,我的任务是使用连接到MS-Access数据库的php构建在线表单。在你们开始提到在线使用Access的缺点之前,这个解决方案适用于INTRAnet站点并且流量最小,而且这个数据库不是由我创建的,我没有选择切换到另一个不那么烦人的数据库选项。 / p>
准备MS-Access数据库(.accdb)以便在线移动
根据我的研究,使用PHP实际连接到MS-Access数据库的选项很少,而且我无法找到有关如何获取此数据库的良好文档,该数据库目前仅作为共享驱动器驻留在一个.accdb文件或其他东西,进入一个地方和形式,我可以尝试连接它的混乱工作。目前我甚至不确定它是否受密码/用户名保护。老实说,我对使用MS-Access一无所知,所以你给我的任何提示都会很棒。如果它就像将.accdb转换为.mdb(我在研究中看到过的文件扩展名)那样简单,然后将其放入根目录,那就太棒了。到目前为止我唯一能找到的文件是“不要使用Access”lol。
使用PHP连接到新的在线MS-Access数据库(无需在服务器上安装任何内容)
现在我需要使用PHP连接到这个数据库。我找到了几个选项来做到这一点,但我无法实际访问服务器(除了我们网站的根目录)来安装库/数据源(如ODBC)会禁止其中一些。如果我的逻辑错误,我可以通过在网站目录中进行更改来运行该选项,那就太棒了!让我知道。此外,我发现有人重新调整adodb.inc.php作为一个选项的一个实例,但(http://phplens.com/lens/adodb/docs-adodb.htm#coding)上的文档并不是非常清楚如何连接或特别是我可以与之交互的方式。
对不起伙计们,我知道这是很多东西,但是任何帮助都是值得赞赏的,并且尽可能详细而且清晰,因为我现在有其他项目在我的盘子上而且没有大量的时间来奉献除了我已经花费的东西之外,研究和研发。谢谢!
答案 0 :(得分:1)
我很可能是错的,但根据我的经验,将PHP连接到Access数据库的唯一方法是使用ODBC驱动程序。我不相信有办法直接建立连接。
答案 1 :(得分:0)
这完全不在我的专业领域之内,因为我是一名Access开发人员,从不需要在您所处的环境中使用Access数据文件,但这就是我的想法:
鉴于Jet / ACE(MDB / ACCDB文件的数据库引擎)是基于文件的数据库引擎,您需要SMB网络访问该文件。无法进行HTTP访问。
最简单的方法是将文件放在HTTP服务器可以访问的Windows文件服务器上,然后通过ODBC访问它(Jet / ACE基于文件,不需要运行任何组件)文件所在的文件服务器)。
只要在HTTP服务器上安装了相关的ODBC驱动程序,就应该没问题。
另一件事:如果您可以使用Access 2007/2010将ACCDB保存为MDB文件,那么您将具有更大的灵活性,因为大多数ODBC文档适用于Jet 4,而不适用于ACE(新版本) A2007引入的数据库引擎以及新的文件格式;它仍然是Jet,只是一个新版本。)
答案 2 :(得分:0)
Copnsider使用OpenLink Software's Multi-tier ODBC to ODBC Bridge
此产品具有这样的客户端/服务器架构 -
Web服务器 - php应用程序 OpenLink通用ODBC驱动程序(多层客户端组件)
Windows主机 - 32位OpenLink请求代理(多层服务器组件) 32位OpenLink Agent for ODBC数据源(多层服务器组件) Microsoft Access .mdb文件+已配置的Access ODBC数据源(DSN)