ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Чтение версионных данных в SQL Server с использованием версионных представлений

  • Чтение из версии Default
  • Чтение из версии, отличной от Default

Для доступа к версионным данным можно выполнять запросы SQL SELECT к версионным представлениям.

Чтение из версии Default

При выполнении запросов SQL к версии Default у вас есть две опции: вы можете обращаться к последней версии или к заданному состоянию.

Чтение последнего состояния версии Default

Версионные представления автоматически получают доступ к текущему состоянию версии Default. Если вы выполняете запросы SELECT к версионному представлению, оно будет обращаться к текущему состоянию Default на момент выполнения запроса. Если другие пользователи вносят изменения в версию Default (тем самым изменяя состояние, на которое ссылается версия Default), последующие запросы будут адресованы к последнему по времени состоянию с соответствующими изменениями.

Чтение определенного состояния версии

Если вы хотите выполнить запрос к определенному состоянию версии Default, и не хотите, чтобы состояние изменилось во время выполнения запроса, выполните встроенную процедуру set_current_version. Эта процедура проверяет имя версии и задает соответствующее состояние базы данных. Если вы выполняете set_current_version к версии Default, запросы к Default всегда будут обращаться к тому состоянию, в котором находилась версия при начале выполнения встроенной процедуры set_current_version.

Функцию set_current_version можно выполнить непосредственно из клиента SQL. Синтаксис команды для базы геоданных со схемой sde:

EXEC sde.set_current_version '<version_name>'

Для базы геоданных со схемой dbo, встроенная процедура принадлежит пользователю dbo, поэтому используется следующий синтаксис:

EXEC dbo.set_current_version '<version_name>'

Вы можете снова выполнить эту процедуру, чтобы вернуть текущее состояние версионной таблицы, если необходимо.

  1. Убедитесь, что для версионного класса объектов или таблицы, к которой вы обращаетесь, имеется версионное представление.

    Начиная с ArcGIS 10.1, версионные представления создаются автоматически для всех версионных данных. Если данные были зарегистрированы как версионные в ПО, выпущенном ранее версии 10.1, вы можете создать версионное представление, щелкнув набор данных в дереве Каталога или в ArcMap правой кнопкой мыши и выбрав Управление, Включить SQL-доступ.

  2. Откройте окно запросов Transact SQL и выполните встроенную процедуру set_current_version, чтобы задать версию Default.
    EXEC sde.set_current_version 'DEFAULT'
    
  3. Выполнение выражения SELECT к версионному представлению для чтения версионных данных из базы геоданных.

    В этом примере версионное представление называется sightings_ev.

    SELECT id, species, reporter
    FROM sightings_ev
    WHERE reporter = 'chuck';
    

Чтение из версии, отличной от Default

Вы также можете выполнить встроенную процедуру set_current_version для запроса к версии, отличной от Default. Эта процедура проверяет имя указанной версии и задает соответствующее внутреннее состояние версии. Запросы к версии всегда указывают на состояние соответствующей версии, полученное при выполнении встроенной процедуры set_current_version.

Эту процедуру можно вызвать снова, чтобы изменить другие версии, также ее можно вызывать каждый раз при обновлении рабочей области, чтобы возвращать текущее состояние версионной таблицы вызывающему приложению.

В следующих пошаговых инструкциях показано, как запустить set_current_version для запроса к версии, отличающейся от Default:

  1. Убедитесь, что для версионного класса объектов или таблицы, к которой вы обращаетесь, имеется версионное представление.

    Версионные представления создаются при регистрации таблицы, класса объектов или набора классов в качестве версионных. Если данные были сделаны версионными до ArcGIS 10.1, вы можете создать версионное представление, щелкнув набор данных правой кнопкой мыши, выбрав Управление и Включить SQL-доступ.

  2. Откройте окно запросов Transact SQL и выполните встроенную процедуру set_current_version, чтобы задать версию, к которой будет создаваться запрос.

    В этом примере, для запросов выбирается версия field_inspections.

    EXEC sde.set_current_version 'FIELD_INSPECTIONS'
    
  3. Выполнение выражения SELECT к версионному представлению для чтения версионных данных из базы геоданных.

    В этом примере версионное представление называется code_ev.

    SELECT owner, site_address, region
     FROM code_ev
     WHERE region = 'b';
    

Если необходимо вернуть запрос к текущему состоянию версии Default, выполните процедуру set_default.

--For sde-schema geodatabases
EXEC sde.set_default;
--For dbo-schema geodatabases
EXEC dbo.set_default;
Затем можно выполнить выражения SELECT над версионными представлениями, тогда запросы будут работать с последними версиями Default.

Связанные разделы

  • Что такое версионное представление?
  • Редактирование версионных данных в SQL Server с помощью SQL

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация