使用与Oracle的Microsoft Access ODBC链接控制哪些列成为主键
时间:2020-03-05 19:00:07 来源:igfitidea点击:
当使用Oracle的ODBC驱动程序创建指向Oracle表的Microsoft Access 2003链接时,有时会要求我们指出哪些列是主键。
我想知道如何更改该初始分配,或者甚至如何使Access / ODBC忘记分配。在有限的测试中,我想知道ODBC驱动程序本身是否未缓存该分配。
我最初选择的列不正确。
更新:我从来没有得到完整的答案,删除链接然后恢复它们不起作用。我认为这是一个晦涩的错误。从那以后,我一直在前进,不必担心这种奇怪的情况。
解决方案
回答
无法删除链接然后重新链接?
回答
我们必须删除该表的链接并创建一个新的链接。当链接一个表时,有关该表的路径,结构(包括主键),权限,密码和统计信息的所有连接信息都存储在Access数据库中。如果链接表中的任何一项发生更改,则刷新链接将不会在Access端自动更新它,因为Access继续使用以前存储的信息。我们必须删除或者删除链接表并重新创建链接,以存储当前的连接信息。
不知道这下一点是否也适用于odbc链接表,但我怀疑确实如此。对于Jet表,最好是定期删除所有链接并重新创建它们,以提高查询性能,因为如果链接表的统计信息是在只有很少记录的表上进行的,则一旦该表被更多记录填充,新的统计信息就会告诉当运行查询时,Jet的优化器(使用索引还是全表扫描)将是更好的选择。