MS Access:如何找到“限定符”和“所有者”

Posted

技术标签:

【中文标题】MS Access:如何找到“限定符”和“所有者”【英文标题】:MS Access: How can one find "qualifier" and "owner" 【发布时间】: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。尝试使用 '%' 他们都可能为空。 【参考方案1】:

MS Access 中所有对象(表等)的所有者默认为“Admin”帐户,没有密码。

您可以通过查看这里找到:

工具->安全-用户和组权限 工具->安全-用户和组帐户

我会冒险猜测限定符并不是很重要。我在 MS SQL 中看到的示例似乎使用了数据库名称(在 MS SQL 服务器上可能有很多)。我建议在限定符字段中使用“”或 null 尝试它,并为所有者使用“Admin”(您也可以使用“”或 null 获得方法)。

【讨论】:

谢谢,我试试看!

以上是关于MS Access:如何找到“限定符”和“所有者”的主要内容,如果未能解决你的问题,请参考以下文章

如何找到用于 FireDac 连接的 MS Access 版本和/或 dll 名称?

MS Access:如何找到 VBA 函数的所有用法?

MS-ACCESS - 在插入之前/之后插入/更新触发器需要

没有为限定符“transactionManager”找到匹配的 PlatformTransactionManager bean

VIsual Studio 2013 C++ 引用限定符问题

如何在 MS Access 2007 中使用 concatRelated