使用 PHP 连接到 MS Access DB
Posted
技术标签:
【中文标题】使用 PHP 连接到 MS Access DB【英文标题】:Connecting to MS Access DB with PHP 【发布时间】:2011-10-27 22:44:19 【问题描述】:我需要使用 php 访问 MS Access 数据库。
MSAccess 文件的名称可以更改,因此我尝试使用 PHP.net 上显示的 DSN'less 连接字符串。
$mdbFilename='test.mdb';
$user = '';
$password = '';
$connection = odbc_connect("Driver=Microsoft Access Driver (*.mdb);Dbq=$mdbFilename", $user, $password);
我遇到了错误;
Warning: odbc_connect(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'., SQL state S1000 in SQLConnect in ...
我需要一些帮助来连接到该文件。
(额外的问题,如果文件扩展名不是“.mdb”,应该是“.bws”)
谢谢
【问题讨论】:
【参考方案1】:我相信您需要完整路径,而不仅仅是 dbq 参数中的文件名。其他一切看起来都不错。 .mdb 是访问数据库文件的标准扩展名。 .bws 是磁盘映像文件。您可能需要先使用 Daemon Tools 之类的工具提取文件,然后才能使用它。
Windows Vista 或 7 中符号链接的语法是
MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
它不适用于网络共享或其他操作系统,但硬链接 (/H) 将允许您为 ODBC 驱动程序创建一个无法与真实事物区分开来的目标。
【讨论】:
.bws 并不是真正的磁盘映像。一些白痴重命名了扩展名。但我需要按原样使用它,因为它在另一个程序中是需要的。 符号链接如果你真的需要重命名而不重命名 (man ln
)以上是关于使用 PHP 连接到 MS Access DB的主要内容,如果未能解决你的问题,请参考以下文章