Skip to main content

更新数据源

图层和独立表显示在特定数据源中存储的信息。 如果该数据源被移动或重命名,则与图层或表的连接将断开,并且没有要显示的数据。 要解决此问题,执行以下任一操作来更新数据源:

  • 要修复地图中通过损坏的数据源按钮 修复已损坏的数据源 标识的损坏链接,请单击该按钮,然后浏览至数据源。

  • 要更改图层或独立表的数据源,请打开其 属性 对话框。 在 源 选项卡中,单击 设置数据源 并浏览到数据源。

  • 要使用 Python 自动更新数据源,请参阅 更新和修复数据源 。

  • 要管理当前工程中的地图引用的所有数据源,请从 目录视图 中进行访问。 您可以更新一个项目中的路径(例如工程中的单个地图),或者访问工程中的所有路径。 您可以查找并替换路径中的特定字符串。 要更新当前工程中的路径,请遵循所引用的下列步骤。

    注意:

    从目录视图更新数据源路径时有一些限制。 使用此方法不支持以下图层类型和工作空间:

    • 流图层

    • 内存工作空间中的图层

    • 网络分析图层

    • 地图服务图层

    • 查询图层 - 您可以在使用 工作空间 模式 地理数据库 期间更改查询图层的数据源。 如果从 项目 模式 Legend Layers 对其进行更新,则查询图层的源将被替换为标准要素类。

    不支持的项目在目录视图的数据源表中的单独标题下列出。

更新工程项目的数据源

按照以下步骤从目录视图同时更新当前工程中所有图层和独立表的数据源:

  1. 切换到目录视图。 要打开目录视图,在 视图 选项卡的 窗口 组中,单击 目录视图 目录视图 。

  2. 在功能区的 目录 选项卡的 更新 组中,单击 数据源 数据源 以打开目录视图的 更新数据源 模式。 或者,右键单击地图视图的 内容 窗格或 目录 窗格中的地图名称,然后单击 更新数据源 以在此模式下打开目录视图。

    随即列出当前工程中引用的所有图层和独立表及其数据源的路径。 要过滤此列表以仅显示一张地图的内容,在目录视图的 内容 窗格中选择该地图。

  3. 选择是查看工程项目的数据源路径,还是查看工程引用的所有唯一工作空间的列表。 在功能区上 数据源 选项卡的 视图 组中,从以下项目中进行选择:

    项目 Legend Layers

    查看工程项目的数据源路径。

    提供要素类或表的路径,例如:

    • 文件地理数据库 - c:\projects\data\myFileGDB.gdb\USCounties

    • 企业级地理数据库 - c:\data\connectionfiles\myGeoDB.sde\USCounties

    工作空间 地理数据库

    查看工程引用的所有唯一工作空间列表。

    提供 .sde 文件的路径,例如:

    • 文件地理数据库 - c:\projects\data\myFileGDB.gdb

    • 企业级地理数据库 - c:\data\connectionfiles\myGeoDB.sde

  4. 在 新建路径 列中,为所列出的任何项目键入或粘贴一个新的文件路径。 右键点击 当前路径 列中的路径,然后单击 复制 ,或单击 浏览 按钮 浏览 浏览到项目的新路径。

    将光标悬停在表中的路径上查看项目的数据类型、工作空间类型和工作空间路径。 如果是企业级地理数据库项目,还包括所有服务器信息。

  5. 选择是否在应用更改之前验证目标源,这些更改将在当前应用程序会话中持续存在。 保存该工程以永久应用它们。 在 数据源 选项卡的 管理更改 组中,执行以下操作之一:

    • 单击 验证并应用 验证并应用 先验证更改,然后进行应用。

    • 单击 应用 应用 应用更改,而不进行任何验证。

  6. 在 数据源 选项卡中,单击 关闭 关闭 以关闭目录视图的 更新数据源 模式。

查找并替换路径的一部分

如果数据源的文件夹位置已重命名或重构,则可以在当前工程中查找并替换部分数据源路径,以修复连接。 例如,如果已将名为 MonthlyData 的文件夹重命名为 AnnualData,则可在所有数据源路径中找到第一个字符串的所有实例,并将其替换为第二个字符串。

要查找并替换部分数据源路径,执行下列步骤:

  1. 切换到目录视图。 要打开目录视图,在 视图 选项卡的 窗口 组中,单击 目录视图 目录视图 。

  2. 在 目录 选项卡的 更新 组中,单击 数据源 数据源 以打开目录视图的 更新数据源 模式。

    随即列出工程中的所有图层和独立表及其数据源的路径。

  3. 在 数据源 选项卡的 工具 组中,单击 查找并替换 定位 。

  4. 在 查找 文本框中输入字符串。 或者,选择项目以将替换限制为仅使用那些项目。 如果未选择任何项目,将替换所有项目。

  5. 在 替换 文本框中输入替换字符串,单击 替换 按钮 替换 ,一次替换一个项目的字符串;或单击 全部替换 按钮 全部替换 ,同时替换所有实例。

  6. 选择是否在应用更改之前验证目标源,这些更改将在当前应用程序会话中持续存在。 保存该工程以永久应用更改。 在 数据源 选项卡的 管理更改 组中,执行以下操作之一:

    • 单击 验证并应用 验证并应用 先验证更改,然后进行应用。

    • 单击 应用 应用 应用更改,而不进行任何验证。

  7. 单击 关闭查找和替换 按钮 关闭 关闭 查找 和 替换 控件。

  8. 在 数据源 选项卡中,单击 关闭 关闭 以关闭目录视图的 更新数据源 模式。

验证更改

更新数据源时,可按原样应用更改,或可在应用更改之前验证目标源。 如果关闭 数据源 面板而不应用更改,则将显示一条警告,提示您进行应用。 在这种情况下,不会进行验证。

下面是您可能要在不进行验证的情况下应用更改的情景示例:当前位于过渡文件夹位置并准备将数据移至尚不存在的最终文件夹位置。 这些更改将在当前应用程序会话中持续存在。 保存该工程以永久应用更改。

对数据源进行更改时,项目旁会显示一个绿色竖线,表示已进行更改但尚未应用。

带表示尚未应用数据源更改的绿色竖线的项目

要在不验证目标源的情况下应用更改,请在 数据源 选项卡的 管理更改 组中,单击 应用 应用 。

要先验证目标源再应用更改,请单击 验证并应用 验证并应用 。 验证成功后,指示器将随之移除。

如果未找到和验证数据源,则项目旁会显示一个红色指示器,并且面板顶部会出现一个通栏,表示存在无效项目。 在某些情况下,由于无法成功匹配图层或表的字段,因此可能会将数据源视为无效。

具有红色竖线的项目表示无法验证数据源更改