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 - 在插入之前/之后插入/更新触发器需要
没有为限定符“transactionManager”找到匹配的 PlatformTransactionManager bean