【发布时间】:2010-08-18 16:22:56
【问题描述】:
这似乎是一个愚蠢的问题,但请放心,我不需要一般的数据库帮助,而是专门需要 MS Access 帮助。如果我使用任何其他数据库,这将不是问题。
我需要使用 PHP 和 ODBC 连接从 MS Access 表中提取主键。我找到了两个据说可以完成此任务的 PHP 函数,但我对参数应该是什么感到困惑,因为文档缺乏详细信息。
注意:关键是获取表主键的名称(最好是类型)。如果在没有限定符和所有者的情况下也能做到这一点,那么问题就解决了。
这是最有前途的功能:
resource odbc_primarykeys ( resource $connection_id , string $qualifier , string $owner , string $table )
文档:http://www.php.net/manual/en/function.odbc-primarykeys.php
这是另一个:
resource odbc_specialcolumns ( resource $connection_id , int $type , string $qualifier , string $owner , string $table , int $scope , int $nullable )
文档:http://www.php.net/manual/en/function.odbc-specialcolumns.php
我无法识别的唯一参数是“限定符”和“所有者”。
我的理解是,“限定符”在正常的极客语言中是指“数据库名称”,而“所有者”是指数据库(或表)的所有者。我的问题是我不知道实际上被是数据库的“所有者”,而且我一生都无法弄清楚在编程上下文中数据库的名称应该是什么。据我所知,它只是一个通过双击打开的文件,此时我可以看到表、列、行、主键和所有其他在数据库中期望的对象,但是唉,没有数据库名称,任何地方。
这特别令人沮丧,因为我不需要知道“限定符”或所有者来连接数据库,SELECT、INSERT、UPDATE 和 DELETE。 ;)
在 MS Access 2007 中是否有查询或我可以找到的位置:
a) “所有者”,
b) “限定符”(或“数据库名称”)
提前致谢!
【问题讨论】:
-
为所有者尝试默认的 Jet/ACE“管理员”。除了文件名之外,我不知道数据库名称应该是什么。关于这个的 PHP 文档真的很烂!
-
谢谢,我试试看!是的,不开玩笑,PHP 文档在这个方面并不出色,这是最不寻常的。我认为这是因为它是 ODBC 并且没有一个很酷的孩子想要触摸它。 ;)
-
限定符可能是某些数据库没有的Schema。尝试使用 '%' 他们都可能为空。
标签: php ms-access odbc primary-key ms-access-2007