与PHP连接时,从MS Access数据库中检索目录,元数据或者架构信息

时间:2020-03-06 14:35:25  来源:igfitidea点击:

我正在使用以下PHP代码连接到MS Access数据库:

$odb_conn = new COM("ADODB.Connection");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". $db_path.";";
$odb_conn->open($connstr);

如何从mdb文件中检索数据库目录/元数据?

找到解决方案

$rs_meta = $odb_conn->OpenSchema(20, array(Null, Null, Null, "TABLE"));

解决方案

MSysObjects表可用于在Access中查询元数据:

SELECT NAME
FROM MSysObjects
WHERE Type In (1,4,6) AND Left([Name],4)<>"MSYS"

我们可以在这里找到有关ADO的信息:

  • http://msdn.microsoft.com/zh-CN/library/ms675532(VS.85).aspx
  • http://www.w3schools.com/ado/default.asp

连接对象具有一个OpenSchema方法来获取数据库架构信息。

我不知道如何将MS Acces DB与PHP一起使用以及新的COM()对象如何工作,但是我认为最好使用OleDB连接而不是ADO对象:http://msdn.microsoft.com/zh-我们/库/ms722784(VS.85).aspx