数据连接简介

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

数据连接是 Microsoft Office InfoPath 表单和存储或该窗体提供数据的外部数据源之间的动态链接。数据源是域和组定义和存储的窗体的数据集。控件绑定到字段和数据源中的组,并向用户显示的数据。

表单可以包含一个主要数据连接,称为主数据连接,还可以选择性地包含一个或多个辅助数据连接。根据表单的用途,数据连接可以从外部数据源(例如 Microsoft SQL Server 数据库或 Web 服务)查询表单数据或将表单数据提交到外部数据源。

本文内容

数据连接概述

处理主数据连接

使用辅助数据连接

存储数据以供脱机使用

连接到外部数据源的注意事项

数据连接概述

数据连接是表单与为该表单存储或提供数据的数据源之间的动态链接。表单可以包含一个主要数据连接,称为主数据连接,还可以选择性地包含一个或多个辅助数据连接。主数据连接定义表单的主数据源。XML 架构描述了数据在表单的主数据源中的存储方式。一个表单只能有一个主数据连接,主数据连接在您创建基于外部数据源的表单模板时自动创建。在设计表单模板时,您可以创建任意数量的辅助数据连接。

根据表单的用途,您可以创建一个指向外部数据源(例如 Microsoft SQL Server 数据库或 Web 服务)的主数据连接或辅助数据连接。外部数据源是一个数据存储区,用于向基于您的表单模板的表单发送数据,也可以从该表单中接收数据。InfoPath 使用以下外部数据源:

  • Microsoft Office Access 数据库

  • Microsoft SQL Server 数据库

  • Web 服务

  • 运行 Microsoft Windows SharePoint Services 的服务器上的文档库或列表

  • XML 文件

您可以创建三种类型的指向外部数据源的数据连接:仅查询数据、仅提交数据或同时查询和提交数据。查询数据连接从数据源接收数据,并将这些数据存储在表单中。提交数据连接将表单中的数据发送到数据源、Web 服务器上的应用程序、运行 Microsoft Windows SharePoint Services 的服务器上的文档库,或电子邮件中。查询和提交数据连接既从数据源接收数据,又向数据源发送数据。创建数据连接时,您需要指定所需的数据连接类型。例如,您可以创建一个执行以下任一操作的数据连接:

  • 从数据库查询数据

  • 在电子邮件中提交表单数据

  • 将表单数据提交到 Web 服务器上的应用程序中

  • 将表单数据提交到使用 XmlFormView 控件的自定义应用程序中

  • 通过自定义编程代码(如 C#、Microsoft Visual Basic .NET 或 Microsoft JScript)查询或提交数据。

  • 使用存储在运行 Microsoft Office SharePoint Server 2007 的服务器上的数据连接库中的连接设置

  • 查询 Microsoft BizTalk Server 2004 或 BizTalk Server 2006 上的工作流服务中的数据,或者将数据提交到该服务

使用的连接类型取决于表单的用途以及要将表单连接至的外部数据源的类型。

查询数据连接

查询数据连接从外部数据源获取数据,并将这些数据存储在窗体的主或辅助数据源中的字段。然后,您可以绑定控件添加到这些字段在表单中显示该数据。您可以通过以下方式创建查询的数据连接︰

  • 设计一个基于数据库、Web 服务或存储在连接库中的设置的表单模板。然后,外部数据源的结构将定义表单的主数据源。

  • 通过添加查询数据库、Web 服务、SharePoint 列表或库或者 XML 文件的辅助数据连接,来修改现有表单模板。

当您设计基于数据库、Web 服务或连接库中的设置的新表单模板时,您需要创建一个查询数据连接,该查询数据连接成为基于该表单模板的表单的主数据连接。只能将一个查询数据连接定义为表单模板的主数据连接。如果需要查询其他数据源中的数据,您可以创建从这些数据源中查询数据的辅助数据连接。本文后面将详细介绍辅助数据连接。

向表单模板添加查询数据的辅助数据连接时,可以指定 InfoPath 应在每次用户打开表单时均使用数据连接,还是在用户填写表单时发生特定事件(例如单击某个按钮以显示选项列表)后使用数据连接。要在发生特定事件后使用数据连接,请使用以下方法之一:

  • 插入一个用于刷新表单中的数据的按钮控件。

  • 添加当表单上存在条件时使用数据连接的规则。

  • 编写针对特定事件的自定义代码。

提交数据连接

当用户提交表单时,来自该表单的数据将通过提交数据连接发送至外部数据源。您可以将表单模板配置为允许用户将数据发送至以下类型的外部数据源:

  • Microsoft Office Access 数据库

  • Microsoft SQL Server 数据库

  • Web 服务

还可以添加通过下列方式提交数据的辅助数据连接:

  • 将表单数据提交到运行 Microsoft Windows SharePoint Services 的服务器上的文档库。

  • 在电子邮件中提交表单数据。

  • 将表单数据提交到 Web 服务器上的应用程序中。

可以通过以下方式创建数据连接:

  • 设计基于数据库、Web 服务或存储在运行 Office SharePoint Server 2007 的服务器上连接库中的设置的新表单模板。然后,外部数据源的结构将定义表单的主数据源。

  • 通过添加辅助数据连接修改现有表单模板,然后将表单模板配置为允许用户通过该辅助数据连接提交其表单。

    提示: 设计基于 Office Access 或 SQL Server 数据库的表单模板时,如果该数据库满足特定要求,InfoPath 将自动配置提交数据连接。在“请参阅”节中可以找到指向有关这些要求的详细信息的链接。如果希望用户使用其他类型的提交数据连接提交已完成的表单,您可以选择禁用“提交”功能。

在大多数情况下,您需要配置一个提交数据连接作为主提交表单模板的操作。但是,您可以设计表单模板,以便用户可以通过使用规则或自定义代码提交到多个位置已完成的表单。例如,您可以配置表单模板以允许用户将提交到 Web 服务,也可通过电子邮件已完成的表单。通常情况下,您可以配置表单模板以提交所有窗体中的数据。但是,如果您使用自定义代码提交表单数据或配置表单模板以允许将数据提交到 Web 服务的窗体,您可以提交表单的数据的一部分。

查询和提交数据连接

设计基于数据库或 Web 服务的表单模板时,您可以创建从该数据库或 Web 服务获取数据并向其提交数据的数据连接。如果设计的是基于数据库的表单模板,则数据连接可以获取或提交数据。但是,若要使基于该表单模板的表单能够将数据提交到该数据库,则必须满足以下要求:

  • 设计的表单模板不是与浏览器兼容的表单模板。

  • 主数据连接中的所有表都必须包含一个主键、唯一约束或唯一索引。

  • 查询中的所有表都必须具有简单的分层关系。

  • 表单主数据源中的所有数据域都不能存储大型二进制类型的数据。

您可以了解有关在连接到外部数据源的注意事项本文后面的这些要求的详细信息。

可以从 Web 服务获取数据或向 Web 服务提交数据的数据连接的功能与合并到单个数据连接中的查询数据连接和提交数据连接的功能相同。

返回页首

使用主数据连接

主数据连接可以建立指向表单的主数据源的连接。XML 架构描述了用于在表单的主数据源中存储数据的结构。您可以使用“数据源”任务窗格来设计数据源,也可以在向表单模板添加控件时让 InfoPath 自动创建数据源。还可以基于外部数据源设计表单模板,这将接下来定义主数据源的结构。一个表单模板只能包含一个主数据连接。

如果主数据连接连接至外部数据源,则使用主数据连接的方式取决于它所连接至的数据源的类型。

数据库   设计基于数据库的表单模板,InfoPath 将创建的查询,并选择性地将数据提交到该数据库的主数据连接。如果将只能通过使用 InfoPath 填写表单,而数据库满足连接到外部数据源的注意事项部分中列出的要求,InfoPath 将自动创建提交数据连接,并配置表单模板以允许用户提交表单。如果将使用浏览器中填写表单,InfoPath 将不创建提交数据连接到数据库。在浏览器兼容的表单模板中不支持将数据提交到数据库的数据连接。

提示: 如果要通过使用浏览器来填写表单并且希望将数据提交到数据库,您可以通过将表单连接至将数据提交到数据库的 Web 服务来执行此操作。

Web 服务    基于 Web 服务设计表单模板时,您可以创建同时查询和提交数据、仅查询数据或仅提交数据的主数据连接。如果选择提交数据,InfoPath 会自动将表单模板配置为允许用户提交其表单。您可以指定提交部分表单数据还是提交全部表单数据。如果仅提交部分数据,则可以根据 Web 服务的要求指定特定组中的哪些域包含应提交的数据。

当您基于数据库或 Web 服务设计表单模板时,InfoPath 将创建一个主数据源,该源包含与在数据库或 Web 服务中存储数据的方式相对应的查询域、数据域和组。查询域包含的值用于在查询中通过使用查询数据连接检索数据库中的数据。查询结果放在数据域中,当用户打开表单时可以对其进行编辑。当用户提交表单时,将通过使用提交数据连接发送数据域中的数据。由于主数据源中的域和组必须与外部数据源中存储数据的方式相匹配,因此您不能修改这些域和组。但是,您可以在主数据源的根域中添加域或组。

若要使用户能够查看、选择、编辑或提交数据域中的数据,您可以将文本框和复选框等控件绑定到表单中的域。如果您希望查询并显示用户可以选择的其他值,则可以将列表框等控件绑定到查询域。如果希望用户从列表中选择值,则可以将列表框等控件绑定到数据域,然后将控件的属性设置为显示来自辅助数据源或来自主数据源中重复域的值。

返回页首

使用辅助数据连接

辅助数据连接可以将表单连接至外部数据源。当您需要查询表单数据或将表单数据提交到主数据连接中的外部数据源以外的外部数据源时,或者当您希望用户将数据提交到多个外部数据源时,辅助数据连接非常有用。您可以创建任意数量的辅助数据连接。

辅助数据连接可以从以下类型的外部数据源中查询数据或将数据提交到这些外部数据源中:

  • Office Access 数据库

  • SQL Server 数据库

  • Web 服务

  • 运行 Windows SharePoint Services 的服务器上的文档库或列表

  • XML 文件

通过使用辅助数据连接,您还可以允许用户将表单数据提交到 Web 服务器上的应用程序,或提交到运行 Windows SharePoint Services 的服务器上的文档库,或者通过电子邮件提交。

如果创建了查询数据的辅助数据连接,则默认情况下,表单在打开时将使用此数据连接。还可以通过使用以下方法配置表单模板来使用此数据连接:

  • 在表单模板中添加一个用户可以单击以发送查询的刷新按钮。

  • 在表单模板中添加通过使用此数据连接查询数据源的规则。

  • 在表单模板中添加发送查询的自定义代码。

当您在表单中添加辅助数据连接时,InfoPath 将自动创建一个辅助数据源,该源包含与数据在外部数据源中的存储方式匹配的数据域和组。这有助于确保数据的完整性。您不能修改辅助数据源中的域和组。

返回页首

存储数据供脱机使用

添加从外部数据源查询数据的辅助数据连接时,您可以将连接配置为将查询结果存储在用户计算机上。这可以确保用户在其计算机未连接至网络时能够填写表单。这称为脱机工作。

如果以这种方式配置辅助数据连接,查询将在用户计算机连接至网络时发送到外部数据源。然后,查询结果将存储在表单的辅助数据源中,当用户填写表单时,这些结果将显示在表单中。每次用户执行新查询时,系统都会缓存数据,以便尽可能使数据保持最新状态。

InfoPath 在决定存储的数据是否适用于给定查询时会考虑查询参数。创建数据连接时,您可以选择当数据源不可用时是否在表单中显示一个默认存储数据集。您应当考虑查询中的数据是否适用于所有用户,或者表单是否应显示特定于每个用户的数据。例如,如果查询返回的数据是基于用户的标识或角色的,使用设计时配置的默认数据集来代替查询结果将导致针对该用户显示的数据不正确。

返回页首

连接至外部数据源的注意事项

InfoPath 支持指向以下类型的外部数据源的数据连接:

  • Office Access 数据库

  • SQL Server 数据库

  • Web 服务

  • 运行 Microsoft Windows SharePoint Services 的服务器上的文档库或列表

  • XML 文件

以下各节提供了连接至上述每种外部数据源的信息和注意事项。

Microsoft Office Access 或 SQL Server 数据库

InfoPath 支持指向 Access 数据库和 SQL Server 数据库的数据连接。若要连接至其他类型的数据库,您可以使用能够处理该数据库的 Web 服务。

表单可以通过主数据连接或辅助数据连接查询数据库中的数据,您可以选择任意数量的数据库表进行连接。您选择的第一个表为主表。随后选择的任何表都必须包含一个与主表相关的域。InfoPath 通过匹配两个表中的域名来尝试设置此关系。在创建数据连接时,您可以选择使用此关系,也可以添加您自己的表关系。

窗体可以将数据提交到数据库中窗体的主数据连接通过如果满足下列要求,表单基于表单模板和数据库︰

  • 表单模板不在浏览器兼容的表单模板   如果您要设计一个浏览器兼容的表单模板,InfoPath 不会在主数据连接创建提交数据连接。若要允许用户提交基于浏览器兼容的表单模板的窗体中的数据,请使用配合该数据库的 Web 服务。

  • 左的表的每对主数据源中的相关表中包含一个主键   至少一个相关表的每对关系必须包括从左表的主键。

  • 无主数据源的大型二进制数据类型的窗体存储中的数据字段   如果查询包含可在其中存储较大的二进制数据类型,如图片、 图像、 OLE 对象、 文件附件,Office Access 备注数据类型或 SQL 文本数据类型的字段,InfoPath 将禁用提交数据连接。

如果表单模板和数据库满足所有这些要求,InfoPath 将创建提交数据连接并将表单模板配置为允许用户提交其表单。如果您希望用户通过其他数据连接提交其表单数据,则可以在主数据连接中禁用提交数据连接。

当您设计基于数据库的表单模板时,InfoPath 将创建一个主数据源,该源包含与数据在数据库中的存储方式匹配的查询域和数据域。InfoPath 还会在表单模板的默认视图中添加“运行查询”“新建记录”按钮。当用户单击“运行查询”按钮时,InfoPath 会将包含查询域中的数据的查询发送到数据库。“新建记录”按钮将清除当前位于表单中的所有数据,并将绑定到数据域的控件设置为数据域的默认值。当用户将数据提交到数据库时,对数据域中的数据所做的任何更改都将更改数据库中的对应记录。如果用户删除某个数据域中的数据,对应的记录也将从数据库中被删除。最后,添加到数据域中的所有数据将更新对应的域并将对应的记录添加到数据库。

如果要将表单连接至数据库,并且已为表单创建了主数据连接,则可以添加一个查询数据库的辅助数据连接。当您添加辅助数据连接时,InfoPath 将创建一个辅助数据源,该源包含与数据库表中的域匹配的查询域、数据域和组。您可以选择多个数据库表并建立表关系,就像对主数据连接执行的操作一样。

创建查询数据的辅助数据连接时,可以将连接配置为每次当用户打开表单时都发送一个查询,或者可以执行下列操作之一来发送查询:

  • 添加用户可以单击以刷新数据连接中的数据的按钮。

  • 创建通过使用数据连接来发送查询的规则。

  • 编写在运行时发送查询的自定义代码。

Web 服务

表单可以通过主数据连接或辅助数据连接来从 Web 服务查询数据或将数据提交到 Web 服务。在与 Web 服务建立连接时,InfoPath 遵循以下标准:

  • 简单对象访问协议 (SOAP)    SOAP 是一种通信协议,它定义了用于与 Web 服务进行通信的 XML 消息。

  • Web 服务描述语言 (WSDL)    WSDL 是一种 XML 架构标准,用于描述 Web 服务的位置、通信协议和接口。InfoPath 只能使用文档-文本样式的 Web 服务。

  • 通用描述发现和集成 (UDDI)    UDDI 是描述企业提供的 Web 服务的目录服务。

根据 Web 服务设计新的表单模板时,InfoPath 会创建一个指向 Web 服务的主数据连接,然后创建一个主数据源,该源包含与 Web 服务的 XML 架构匹配的查询域、数据域和组。

如果将表单模板配置为使用同一 Web 服务的其他操作或需要结合使用其他 Web 服务,则可以添加指向表单模板的辅助数据连接。添加查询数据的辅助数据连接时,InfoPath 将创建一个辅助数据源,该源包含与 Web 服务的架构匹配的域和组。如果添加提交数据的辅助数据连接,您可以将该连接配置为发送表单中的全部数据或仅发送部分数据,具体取决于 Web 服务中的参数。

创建指向 Web 服务的主数据连接或辅助数据连接时,您可以指定连接仅查询数据、仅提交数据还是既查询又提交数据。如果连接查询数据,InfoPath 将在表单模板中添加“运行查询”按钮。当用户单击“运行查询”按钮时,InfoPath 会将包含查询域中的数据的查询发送到 Web 服务。如果连接提交数据,InfoPath 将启用表单的“提交”功能。当您配置提交数据连接时,InfoPath 将确定 Web 服务需要哪些数据。您可以根据这些信息来指定表单模板中的哪些域应当将其数据提交到 Web 服务。

SharePoint 网站上的文档库或列表

表单可以通过指向运行 Windows SharePoint Services 的服务器上的文档库或列表的辅助数据连接来查询数据。表单还可以将数据提交到服务器上的文档库。您不能通过主数据连接来连接至库或列表。

如果创建从文档库或列表查询数据的辅助数据连接,InfoPath 将为表单创建一个与文档库或列表中的列匹配的辅助数据源。

如果创建了向文档库提交数据的辅助数据连接,并且希望让此提交数据连接成为表单模板的主提交操作,则必须启用表单模板的“提交”功能,并要使用“提交选项”对话框(“工具”菜单上的“提交选项”命令)将其与数据连接相关联。默认情况下,表单中的所有数据都通过提交数据连接进行提交。如果只想提交部分数据,则可以通过为表单模板编写自定义代码,实现此目的。

XML 文件

表单可以通过指向 XML 文件的辅助数据连接来查询数据。例如,您可以将 Microsoft Office Excel 工作表另存为 XML 文件,然后使用辅助数据连接在表单中查询并显示该文件中的数据。还可以使用辅助数据连接查询 XML 文件中的数据,以便检索 Web 服务器上返回 XML 的应用程序(例如 Microsoft ASP.NET 应用程序、公共网关接口 (CGI) 脚本或使用 Internet 服务器应用程序编程接口 (ISAPI) 的应用程序)中的数据。

Web 服务器上的应用程序

可以创建这样的辅助数据连接:它将数据提交给 Web 服务器上的应用程序(例如:ASP.NET 应用程序、CGI 脚本或使用 ISAPI 的应用程序)。要将数据提交给 Web 服务器上的应用程序,就必须将表单模板配置为允许用户提交其表单数据,并要通过在“提交选项”对话框(“工具”菜单、“提交选项”命令)中选择“Web 服务器(HTTP)”,配置数据连接的提交选项。

注意: 表单只能包含一个向 Web 服务器上的应用程序提交数据的数据连接。不能将表单模板配置为允许表单使用某个规则将数据提交到 Web 服务器上的应用程序中。

数据连接库中的连接设置

如果多个表单使用相同或相似的数据连接,请考虑将每个数据连接的设置存储在运行 Office SharePoint Server 2007 的服务器上的数据连接库中的数据连接文件中。数据连接文件是一个 XML 文件,它包含单个外部数据源的连接信息,并带有 .xml 或 .udcx 文件扩展名。用户打开连接至数据连接文件的表单时,InfoPath 将使用该文件中的设置连接至外部数据源。使用数据连接文件的优势包括:

  • 多个表单可以使用同一个数据连接文件,因而无需从头为每个表单创建相同的数据连接。

  • 如果某个外部数据源的位置或连接设置发生变化,您只需要更新数据连接文件,而无需更新每个表单模板。

  • 数据连接文件可以包含备用身份验证信息,当用户通过使用浏览器填写表单时,服务器可以使用该信息。

  • 如果表单中的所有数据连接均使用数据连接文件,则在浏览器中填写的、不具有完全信任安全级别的表单可以连接至其他域中的计算机。

若要将表单连接至数据连接文件,该文件必须存储在运行 Office SharePoint Server 2007 的服务器上的数据连接库中,并且必须采用通用数据连接 (UDC) 2.0 版文件格式。

注意: UDC 2.0 文件格式是 Microsoft Office FrontPage 所使用的 1.0 版格式的超集。InfoPath 不能在 1.0 版格式中使用数据连接文件。在“请参阅”节中可以找到指向有关数据连接库和数据连接文件的详细信息的链接。

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

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

此信息是否有帮助?

谢谢您的反馈!

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

×