使用 Microsoft Access ODBC 链接到 Oracle 控制哪些列成为主键
Posted
技术标签:
【中文标题】使用 Microsoft Access ODBC 链接到 Oracle 控制哪些列成为主键【英文标题】:Control which columns become primary keys with Microsoft Access ODBC link to Oracle 【发布时间】:2008-09-17 21:31:03 【问题描述】:当您使用 Oracle 的 ODBC 驱动程序创建指向 Oracle 表的 Microsoft Access 2003 链接时,有时会要求您说明哪些列是主键。
我想知道如何更改初始分配,甚至如何让 Access/ODBC 忘记分配。在我有限的测试中,我想知道分配是否没有被 ODBC 驱动程序本身缓存。
我最初选择的列不正确。
更新:我从来没有得到关于这个的完整答案,删除链接然后恢复它们不起作用。我认为这是一个不为人知的错误。我继续前进,从此不必担心这种奇怪的事情。
【问题讨论】:
【参考方案1】:您必须删除该表的链接并创建一个新链接。当一个表被链接时,关于表的路径、结构(包括主键)、权限、密码和统计信息的所有连接信息都存储在 Access db 中。如果链接表中的任何项目发生更改,刷新链接不会在 Access 端自动更新它,因为 Access 会继续使用以前存储的信息。您必须删除或删除链接表并重新创建链接,存储当前连接信息。
不确定下一点是否也适用于 odbc 链接表,但我怀疑确实如此。对于 Jet 表,定期删除所有链接并重新创建它们以提高查询性能是个好主意,因为如果链接表的统计信息是在记录很少的表上进行的,一旦该表填充了更多记录,新的统计信息就会告诉Jet 的优化器在运行查询时,无论是使用索引还是全表扫描,都会是更好的做法。
【讨论】:
【参考方案2】:不能删除链接再重新链接吗?
【讨论】:
以上是关于使用 Microsoft Access ODBC 链接到 Oracle 控制哪些列成为主键的主要内容,如果未能解决你的问题,请参考以下文章
RODBC 与 ms-access 错误 07002 17 [Microsoft][ODBC Microsoft Access Driver]COUNT 字段不正确
使用 Microsoft Access ODBC 链接到 Oracle 控制哪些列成为主键
Microsoft Access ODBC 连接:连接字符串差异
在 Python ODBC 中使用 Microsoft Access SQL 运算符