MS Access:在设计指南视图中创建链接表不显示要链接的表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS Access:在设计指南视图中创建链接表不显示要链接的表?相关的知识,希望对你有一定的参考价值。
在MS Access 2010中,我尝试创建到Oracle表的链接表。
当我通过MS Access菜单使用传统方式时:
外部数据> ODBC数据库>通过创建链接表链接到数据
我无法在Oracle服务器上看到我应该可以选择的表格。表单是空的,即使我知道我的服务器上有很多表。
这里有什么问题? 可能是我强制使用的ODBC连接是控制面板下“ODBC数据源管理器”概述中的系统DSN。注意:连接正在其他程序中工作,所以这不是问题。
PS:我当然可以通过VBA代码来实现,这可以通过以下方式完成:
从这里取得的模板代码:https://www.techonthenet.com/access/modules/link_table.php
这里是链接的模板代码:
DoCmd.TransferDatabase acLink, "ODBC Database", "ODBC;DSN=AAAA;UID=BBBB;PWD=DDDD;SERVER=CCCC", acTable, "schema.table_name", "Access_table_name", False, False
这里是链接的评论:
请注意,您需要自定义上面的代码行,以便:
AAAA是您设置的ODBC数据源的名称。 BBBB是您用于登录Oracle的用户名。 CCCC是Oracle服务器的名称。 DDDD是您用于登录Oracle的密码。 schema.table_name是Oracle中要链接到的表。例如,“collect.suppliers”。 Access_table_name是您希望Access分配给链接表的名称。例如,“供应商”。
使用菜单时,需要在DSN中预先指定数据库(连接字符串中的Dbq参数)。
如果您没有预先指定数据库,MS Access将不知道在哪个数据库中查找表,并且它不会执行它有权访问的全部或全部数据,因此它不执行任何操作。
确保ODBC驱动程序与Access版本匹配 32位访问< - > 32位ODBC 64位访问< - > 64位ODBC
你在这里有一些好评。如果从控制面板启动ODBC面板,它将启动ODBC管理器的x64位版本。但是,大多数Access版本都是x32位。
确保使用正确的位大小ODBC管理器的最简单方法是让Access为您启动ODBC面板。 (如果您右键单击访问快捷方式并选择以管理员身份运行,则通常会有所帮助。
正如其他人所说,当您设置DSN时,请做两件事:确保在创建连接期间,您选择数据库(默认情况下通常是系统,它将显示一大堆系统表,但没有一个是您的想要 - 你想选择/选择你的数据库。它应该出现在下拉列表中。
几个面板中的SQL服务器(而不是oracle)将显示您选择数据库的位置:
非常重要的是,您还需要选中“保存密码”框 - 这只会在创建新DSN时出现 - 如果您错过了,那么重新链接将永远不会提示您输入密码 - 所以不要忘记此选项:
无论您使用什么ODBC,上面的面板都会显示 - 不要忘记检查保存密码。
接下来:创建一个文件DSN。这样做的原因是Access会将此转换为自动转换为无DSN连接。这意味着您可以将数据库移动到其他计算机,甚至可以删除您创建的DSN。访问仅在链接时使用DSN - 之后不需要(但是,此建议仅适用于文件dsn - 因此这是您要创建的内容。
以上是关于MS Access:在设计指南视图中创建链接表不显示要链接的表?的主要内容,如果未能解决你的问题,请参考以下文章
从 MS Access 链接 Oracle 视图时可以指定主键吗?