链接到数据或从 Azure SQL Server 数据库导入数据

链接到数据或从 Azure SQL Server 数据库导入数据

可链接到 SQL 数据库或从其导入数据。该数据库是用于任务关键型应用程序的高性能托管数据库。有关详细信息,请参阅 SQL 数据库 - 云数据库即服务

  • 链接到数据时,Access 会创建一个双向连接,将更改同步到 Access 和 SQL 数据库中的数据。

  • 导入数据时,Access 会创建数据的一次性副本,这样就不会同步 Access 和 SQL 数据库中的数据更改。

将 Access 连接到 SQL Server 的概述

开始之前

进行基本的准备工作

想要进行得更顺利吗?那就在链接或导入之间做好以下准备工作:

  • 找到 Azure SQL Server 数据库服务器名称,确定必需的连接信息,然后选择身份验证方法(Windows 或 SQL Server)。有关 4 种身份验证方法的详细信息,请参阅连接到服务器(数据库引擎)保护你的 SQL 数据库

  • 确定想要链接到或导入的表或视图,以及链接表的唯一值字段。可通过一次操作链接到或导入多张表或多个视图。

  • 考虑每张表或视图中的列数。Access 不支持一张表中超过 255 个字段,因此 Access 只链接或导入前 255 行。变通方案是在 Azure SQL Server 数据库中创建一个视图来访问超过限制的列。

  • 确定要导入的数据总量。Access 数据库的最大大小为 2GB,减去系统对象所需的空间。如果 Azure SQL Server 数据库包含大型表格,可能无法将其全部导入一个 Access 数据库。该情况下,可考虑链接到数据,而不是导入数据。

  • 使用受信任的位置和 Access 数据库密码,以保证 Access 数据库和连接信息的安全性。如果选择在 Access 中保存 SQL Server 密码,这一点特别重要。

  • 计划创建附加关系。Access 不会在导入操作结束时自动创建相关表格之间的关系。可使用“关系”窗口,手动创建新表格和现有表格之间的关系。有关详细信息,请参阅什么是“关系”窗口?创建、编辑或删除关系

配置 Azure SQL Server 环境

组织可能已具有 Microsoft Azure 帐户和 Azure SQL Server 数据库可供你使用。如果没有,请执行以下操作:

  1. 创建 Azure 帐户。有关详细信息,请参阅立即创建免费 Azure 帐户

  2. 如果不方便访问 Azure SQL Server 数据库,可创建一个自己的数据库。有关详细信息,请参阅在 Azure 门户中创建 Azure SQL 数据库

请务必记下凭据和帐户名称等重要信息以防忘记。

创建防火墙规则

连接到 Microsoft Azure SQL 数据库服务器之前,数据库管理员需要创建服务器级别的防火墙规则。这些规则会指定公共 Internet 协议 (IP) 地址。每个设备的客户端可使用该地址通过 Azure 防火墙访问服务器。在组织中查看当前使用的公共 IP 地址类型是静态还是动态:

  • 如果公共 IP 地址是静态的,则始终保持相同。使用一个公共 IP 地址即可指定防火墙规则。

  • 如果公共 IP 地址是动态的,则随着时间的推移而发生更改。需要使用公共 IP 地址范围来指定防火墙规则。请注意,设备用于连接到 Azure SQL 数据库的公共 IP 地址可能与计算机公共 IP 配置设置中显示的公共 IP 地址不同。

为避免混淆,建议按以下过程操作。

  1. 登录到 Microsoft Azure 帐户,然后导航到 Microsoft Azure 门户

  2. 在 Microsoft Azure SQL 数据库页面上,单击数据库。

  3. 在速览窗格中,单击“管理允许的 IP 地址”,然后执行下列操作之一:

    为一台设备创建防火墙规则   :进行测试和开发、在小型企业环境中或者知道公共 IP 地址是静态时使用此方法。

    • 在“允许的 IP 地址”部分,选择“添加到允许的 IP 地址”,使该公共 IP 地可通过防火墙访问数据库。Azure 门户将在规则名称部分上方显示客户端设备的正确公共 IP 地址。

    为 IP 地址范围创建防火墙规则:想让本地环境中的多位用户能够进行访问,或知道公共 IP 地址是动态时使用此方法。请联系 IT 部门或 Internet 提供商获取公共 IP 地址块。

    1. 在“规则名称”下,输入有意义的规则名称。

    2. 在“起始 IP”下,输入范围的起始公共 IP 地址号。

    3. 在“结束 IP”下,输入范围的结束公共 IP 地址编号。

最多可能 5 分钟的时间,防火墙规则即会生效。有关详细信息,请参阅 Azure SQL 数据库防火墙规则

步骤 1:开始使用

  1. 选择“外部数据”>“新建数据源”>“来自数据库​​”>“来自 SQL Server”。

  2. 在“获取​​外部数据 - ODBC 数据库​​”对话框中,执行下列操作之一:

    • 若要导入数据,请选择“将源数据导入当前数据库的新表中”。

    • 若要链接到数据,请选择“通过创建链接表来链接到数据源”。

  3. 选择“确定”。

步骤 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)。

  1. 执行下列操作之一:

    • 如果希望使用的 DSN 文件已存在,请从列表中选择该文件。

      “选择数据源”对话框

      可能需要再次输入密码,具体取决于在连接信息中输入的身份验证方法。

    • 新建 DSN 文件:

      1. 选择“新建”。

        “新建数据源”对话框
      2. 选择“ODBC Driver 13 for SQL Server”,然后选择“下一步”。

      3. 输入 DSN 文件的名称,或单击“浏览”在其他位置中创建文件。

  2. 单击“下一步”,查看摘要信息,然后单击“完成”。

步骤 3:使用“创建到 SQL Server 的新数据源”向导

在“创建到 SQL Server 的新数据源”向导中,执行下列操作:

  1. 在第 1 页上,输入标识信息:

    • 在“说明”框中,输入 DSN 文件的相关文件信息(可选)。

    • 在“服务器”框中,输入 Azure SQL Server 数据库的名称。例如,输入“myAzureDB.database.windows.net”。请不要单击向下箭头。

  2. 在第 2 页上,选择下面某个身份验证方法:

  3. 在第 3 页和第 4 页上,选择自定义连接的各个选项。有关详细信息,请参阅 Microsoft ODBC Driver for SQL Server

  4. 之后会出现确认设置的屏幕。选择“测试数据源”以确认连接。

  5. 可能需要登录到数据库。在“SQL Server 登录”对话框中,输入登录 ID密码。若要更改其他设置,请选择“选项”。

步骤 4:选择要链接到或导入的表

  1. 在“链接表”或“导入对象”对话框的“”下,选择想要链接或导入的每个表或视图,然后单击“确定”。

    要链接或导入的一系列表
  2. 在链接操作中,确定是否选择“保存密码”。

    安全性   :选择此选项后,每次打开 Access 和访问数据时就无需输入凭据。但它在 Access 数据库中存储未加密的密码,这意味着可访问源内容的用户即可查看用户名和密码。如果选择此选项,强烈建议将 Access 数据库存储在受信任的位置,并创建 Access 数据库密码。有关详细信息,请参阅决定是否信任数据库使用数据库密码加密数据库

步骤 5:创建规格和任务(仅限导入)

结果

链接或导入操作完成后,导航窗格中会出现该表,其名称与 SQL Server 表或视图的相同,且带有所有者名称。例如,如果 SQL 名称是 dbo.Product,则 Access 名称为 dbo_Product。如果名称已被占用,则 Access 将在新的表名称后追加“1”,例如 dbo_Product1。如果 dbo_Product1 也被占用,Access 将创建 dbo_Product2,依此类推。但是也可将表重命名为更有意义的名称。

在导入操作中,Access 永远不会覆盖数据库中的表。虽然不能直接将 SQL Server 数据追加到现有表格中,但可创建追加查询,在从相似的表中导入数据之后追加数据。

在链接操作中,如果列在 Azure SQL Server 表中处于只读状态,则在 Access 中也处于只读状态。

提示    若要查看连接字符串,请在 Access 导航窗格中将鼠标悬停在表上方。

更新链接表的设计

不能添加、删除或修改列,也不能更改链接表中的数据类型。如果想要更改设计,请在 Azure SQL Server 数据库中进行。若要查看 Access 中的设计更改,请更新链接表:

  1. 选择“外部数据”>“链接表管理器”。

  2. 选择想要更新的每个链接表,选择“确定”,然后选择“关闭”。

比较数据类型

Access 数据类型与 Azure SQL Server 数据类型的命名方式不同。例如,Azure SQL Server 中“bit”数据类型的列被导入或链接到 Access 中的“Yes/No”数据类型。下表对 Azure SQL Server 和 Access 数据类型进行了对比。

SQL Server 数据类型

Access 数据类型

Access 字段大小

bigint

大数

请参阅使用大数数据类型

binary (field size)

Binary

与 SQL Server 字段大小相同

bit

Yes/No

char (field size),其中字段大小小于或等于 255

Text

与 SQL Server 字段大小相同

char (field size),其中字段大小大于 255

Memo

datetime

Date/Time

decimal (precision, scale)

Number

Decimal(Access 精度和小数位数属性与 SQL Server 精度和小数位数一致。)

float

Number

Double

image

OLE 对象

int

Number

Long Integer

money

Currency

nchar (field size),其中字段大小小于或等于 255

Text

与 SQL Server 字段大小相同

nchar (field size),其中字段大小大于 255

Memo

ntext

Memo

numeric (precision, scale)

Number

Decimal(Access 精度和小数位数属性与 SQL Server 精度和小数位数一致。)

nvarchar (field size),其中字段大小小于或等于 255

Text

与 SQL Server 字段大小相同

nvarchar (field size),其中字段大小大于 255

Memo

nvarchar(MAX)

Memo

real

Number

Single

smalldatetime

Date/Time

smallint

Number

Integer

smallmoney

Currency

sql_variant

Text

255

text

Memo

timestamp

Binary

8

tinyint

Number

Byte

uniqueidentifier

Number

复制 ID

varbinary

Binary

与 SQL Server 字段大小相同

varbinary (MAX)

OLE 对象

varchar (field size),其中字段大小小于或等于 255

Text

与 SQL Server 字段大小相同

varchar (field size),其中字段大小大于 255

Memo

varchar(MAX)

Memo

xml

Memo

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×