可以链接到SQL 数据库或从SQL 数据库导入数据,该数据库是用于任务关键型应用程序的高性能托管数据库。 有关详细信息,请参阅 SQL Server 2016。
-
链接到数据时,Access 会创建一个双向连接,将更改同步到 Access 和 SQL 数据库中的数据。
-
导入数据时,Access 会创建数据的一次性副本,这样就不会同步 Access 和 SQL 数据库中的数据更改。
开始之前
想要进行得更顺利吗? 那就在链接或导入之前做好以下准备工作:
-
找到 SQL Server 数据库服务器名称,确定必需的连接信息,然后选择身份验证方法(Windows 或 SQL Server)。 有关身份验证方法的详细信息,请参阅连接到服务器(数据库引擎)和保护你的 SQL 数据库。
-
确定想要链接到或导入的表或视图,以及链接表的唯一值字段。 可通过一次操作链接到或导入多张表或多个视图。
-
考虑每张表或视图中的列数。 Access 不支持一张表中超过 255 个字段,因此 Access 只链接或导入前 255 列。 变通方案是在 SQL Server 数据库中创建一个视图,用于访问超出限制的列。
-
确定要导入的数据总量。 Access 数据库的最大大小为 2GB,减去系统对象所需的空间。 如果 SQL Server 数据库包含大型表格,可能无法将其全部导入一个 Access 数据库。 该情况下,可考虑链接到数据,而不是导入数据。
-
使用受信任的位置和 Access 数据库密码,以保证 Access 数据库和连接信息的安全性。 如果选择在 Access 中保存 SQL Server 密码,这一点特别重要。
-
计划创建附加关系。 Access 不会在导入操作结束时自动在相关表之间创建关系。 可以使用“关系”窗口在新的表和现有表之间手动创建关系。 有关详细信息,请参阅 什么是关系窗口? 和 创建、编辑或删除关系。
步骤 1:开始使用
-
选择“外部数据”>“新建数据源”>“来自数据库”>“来自 SQL Server”。
-
在“获取外部数据 - ODBC 数据库”对话框中,执行下列操作之一:
-
若要导入数据,请选择“将源数据导入当前数据库的新表中”。
-
若要链接到数据,请选择“通过创建链接表来链接到数据源”。
-
-
选择“确定”。
步骤 2:创建或重复使用 DSN 文件
可创建一个 DSN 文件,也可重复使用现有文件。 想对不同链接和导入操作使用相同的连接信息,或者想与同样使用 DSN 文件的其他应用程序进行共享时,可以使用 DSN 文件。 可使用数据连接管理器直接创建 DSN 文件。 有关详细信息,请参阅管理 ODBC 数据源。
尽管仍可使用早期版本的 SQL ODBC 驱动程序,但建议使用版本 13.1,该版本进行了许多改进,并支持 SQL Server 2016 的新增功能。 有关详细信息,请参阅 Microsoft ODBC Driver for SQL Server on Windows(Windows 上的 Microsoft ODBC Driver for SQL Server)。
-
执行下列操作之一:
-
如果希望使用的 DSN 文件已存在,请从列表中选择该文件。
可能需要再次输入密码,具体取决于在连接信息中输入的身份验证方法。
-
新建 DSN 文件:
-
选择“新建”。
-
选择“ODBC Driver 13 for SQL Server”,然后选择“下一步”。
-
输入 DSN 文件的名称,或单击“浏览”在其他位置中创建文件。
-
-
-
单击“下一步”,查看摘要信息,然后单击“完成”。
步骤 3:使用“创建到 SQL Server 的新数据源”向导
在“创建到 SQL Server 的新数据源”向导中,执行下列操作:
-
在第 1 页上,输入标识信息:
-
在“说明”框中,输入 DSN 文件的相关文件信息(可选)。
-
在“服务器”框中,输入 SQL Server 的名称。 请不要单击向下箭头。
-
-
在第 2 页上,选择下面某个身份验证方法:
-
使用集成Windows 身份验证 通过 Windows 用户帐户进行连接。 (可选)输入服务主体名称 (SPN) 。 有关详细信息,请参阅客户端Connections (ODBC) 中的服务主体名称 (SPN)。
-
使用SQL Server身份验证... 通过输入 登录 ID 和 密码,使用数据库中设置的凭据进行连接。
-
-
在第 3 页和第 4 页上,选择自定义连接的各个选项。 有关详细信息,请参阅 Microsoft ODBC Driver for SQL Server。
-
之后会出现确认设置的屏幕。 选择“测试数据源”以确认连接。
-
可能需要登录到数据库。 在“SQL Server 登录”对话框中,输入登录 ID 和密码。 若要更改其他设置,请选择“选项”。
阶段 4:选择要链接到或导入的表和视图
-
在“链接表”或“导入对象”对话框的“表”下,选择想要链接或导入的每个表或视图,然后单击“确定”。
-
在链接操作中,确定是否选择“保存密码”。
安全性 选择此选项无需在每次打开 Access 并访问数据时输入凭据。 但是,这会在 Access 数据库中存储未加密的密码,这意味着可以访问源内容的用户可以看到用户名和密码。 如果选择此选项,我们强烈建议将 Access 数据库存储在受信任位置并创建 Access 数据库密码。 有关详细信息,请参阅决定是否信任数据库和使用数据库密码加密数据库。
注意 如果决定不保存密码,但随后改变了主意,则需要删除并重新创建链接表,然后选择“ 保存密码”。
步骤 5:创建规格和任务(仅限导入)
-
在“获取外部数据 - ODBC 数据库”对话框中,可将导入步骤另存为规格,并创建一个 Outlook 任务来定期自动执行导入操作。 有关详细信息,请参阅将导入或导出操作的详细信息保存为规格。
结果
链接或导入操作完成后,导航窗格中会出现该表,其名称与 SQL Server 表或视图的相同,且带有所有者名称。 例如,如果 SQL 名称是 dbo.Product,则 Access 名称为 dbo_Product。 如果名称已被占用,则 Access 将在新的表名称后追加“1”,例如 dbo_Product1。 如果 dbo_Product1 也被占用,Access 将创建 dbo_Product2,依此类推。 但是也可将表重命名为更有意义的名称。
在导入操作中,Access 永远不会覆盖数据库中的表。 虽然不能直接将 SQL Server 数据追加到现有表格中,但可创建追加查询,在从相似的表中导入数据之后追加数据。
在链接操作中,如果列在 SQL Server 表中处于只读状态,则在 Access 中也处于只读状态。
提示 若要查看连接字符串,请将鼠标悬停在 Access 导航窗格中的表上。
更新链接表的设计
不能添加、删除或修改列,也不能更改链接表中的数据类型。 如果想要更改设计,请在 SQL Server 数据库中进行。 若要查看 Access 中的设计更改,请更新链接表:
-
选择“外部数据”>“链接表管理器”。
-
选择想要更新的每个链接表,选择“确定”,然后选择“关闭”。
比较数据类型
Access 数据类型与 SQL Server 数据类型的命名方式不同。 例如,SQL Server 中“bit”数据类型的列被导入或链接到 Access 中的“是/否”数据类型。 有关详细信息,请参阅比较 Access 和SQL Server数据类型。
我还需了解哪些信息?
-
若要了解如何将导入的详细信息保存为可供稍后使用的规范,请参阅将导入或导出操作的详细信息另存为规范一文。
-
若要了解如何运行已保存的导入规范,请参阅运行保存的导入或导出操作一文。
-
若要了解如何计划在特定时间运行规范,请参阅计划导入或导出操作一文。
-
有关如何更改规范名称,删除规范或更新规范中源文件名的相关信息,请参阅管理数据任务一文。