Настройка списка запросов

Настройка списка запросов

Введение

С плагином SaveToDB пользователи могут переключать запросы к базе данных, используя список запросов на ленте.

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

К тому же, при добавлении новых объектов в базу данных, пользователю достаточно обновить список запросов, и можно получать данные новых объектов.

Список запросов задается для каждого объекта базы данных в Мастере подключения к базе данных и может быть изменен позже.

После подключения первого запроса пользователь может переключать запросы из "Списка запросов" на ленте.

Плагин SaveToDB использует встроенный запрос для формирования списка всех объектов, доступных пользователю.

Вы можете реализовать собственные представления списков запросов.

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

Например, в одной базе данных можно создать списки запросов для финансистов, бухгалтеров, менеджеров и т.д.

Списки запросов могут содержать таблицы, представления, хранимые процедуры, SQL-код, http-запросы и запросы к текстовым файлам.

Представление конфигурации списка запросов

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

  1. TABLE_SCHEMA
  2. TABLE_NAME
  3. TABLE_TYPE
  4. TABLE_CODE
  5. INSERT_PROCEDURE
  6. UPDATE_PROCEDURE
  7. DELETE_PROCEDURE
  8. PROCEDURE_TYPE

* Для Microsoft SQL Server Compact используются таблицы, а не представления. Начиная с версии 7.0, также могут использоваться таблицы, а не представления.

Первым полем представления может быть поле идентификатора.

Плагин SaveToDB определяет конфигурационные представления по сигнатуре полей.

Формат представления:

TABLE_SCHEMATABLE_NAMETABLE_TYPETABLE_CODEINSERT_PROCEDUREUPDATE_PROCEDUREDELETE_PROCEDUREPROCEDURE_TYPE
<Схема таблицы><Имя таблицы>TABLE [<Процедура>
/<SQL-код>]
[<Процедура>
/<SQL-код>]
[<Процедура>
/<SQL-код>]
[PROCEDURE
/CODE]
<Схема представления><Имя представления>VIEW [<Таблица>
/<Процедура>
/<SQL-код>]
[<Таблица>
/<Процедура>
/<SQL-код>]
[<Таблица>
/<Процедура>
/<SQL-код>]
[TABLE
/PROCEDURE
/CODE]
<Схема процедуры><Имя процедуры>PROCEDURE [<Таблица>
/<Процедура>
/<SQL-код>]
[<Таблица>
/<Процедура>
/<SQL-код>]
[<Таблица>
/<Процедура>
/<SQL-код>]
[TABLE
/PROCEDURE
/CODE]
<Схема объекта><Имя SQL-кода>CODE<SQL-код>[<Таблица>
/<Процедура>
/<SQL-код>]
[<Таблица>
/<Процедура>
/<SQL-код>]
[<Таблица>
/<Процедура>
/<SQL-код>]
[TABLE
/PROCEDURE
/CODE]
<Схема объекта><Имя http-запроса>HTTP<http-запрос>[<Таблица>
/<Процедура>
/<SQL-код>]
[<Таблица>][<Таблица>][TABLE
/PROCEDURE
/CODE]
<Схема объекта><Имя text-запроса>TEXT<Имя файла>
[;CodePage=<Код>]
[<Таблица>
/<Процедура>
/<SQL-код>]
[<Таблица>][<Таблица>][TABLE
/PROCEDURE
/CODE]

Поля TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE и TABLE_CODE относятся к объекту данных. Можно задать шесть типов объектов:

  • Таблица базы данных (TABLE).
  • Представление базы данных (VIEW).
  • Хранимая процедура базы данных (PROCEDURE).
  • Запрос к базе данных - SQL-код (CODE).
  • http-запрос (HTTP).
  • Запрос к текстовому файлу в формате XML, JSON, HTML и CSV (TEXT).

Для последних трех типов запросов код запроса указывается в поле TABLE_CODE, а обязательные схема и наименование в полях TABLE_SCHEMA и TABLE_NAME.
Значение поле TABLE_SCHEMA можно выбрать произвольно. Важно, чтобы оно не пересекалось с имеющимися объектами базы данных.

Поля INSERT_PROCEDURE, UPDATE_PROCEDURE, DELETE_PROCEDURE используются для настройки сохранения изменений в БД и могут быть NULL.

Объекты в виде SQL-кода

SQL-код может содержать параметры в виде:

  • @ParameterName для Microsoft SQL Server, Microsoft SQL Server Compact и SQLite.
  • :ParameterName для Oracle Database, IBM DB2, MySQL, MariaDB, PostgreSQL и NuoDB.

Параметры выводятся на ленту и позволяют пользователям менять значения параметров запроса.

Например:

SELECT * FROM dbo.StockTradeHistory th WHERE th.Symbol = @Symbol

Объекты в виде http-запросов

http-запрос также может содержать параметры, которые выводятся на ленту.

Можно использовать стандартный формат параметров url: ?ParameterName1=Value1&ParameterName2=Value2...

Фактически, url запроса из браузера просто вставляется в поле TABLE_CODE.

В качестве альтернативы, можно переопределить параметры в виде: {ParameterName=DefaultValue}

Это удобно использовать, если url содержит технические параметры, которые не нужны пользователям.

Например:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20%28%22{Symbol=YHOO}
%22%29&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys

В примере используется единственный параметр Symbol со значением по умолчанию YHOO.

http-запросы могут осуществляться к корпоративным или публичным веб-страницам, веб-сервисам или веб-сервисам OData.

Поддерживаются форматы XML, JSON, HTML и CSV.

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

Если какая-либо страница обрабатывается неправильно, вы можете обратиться в нашу службу поддержки. Мы постараемся исправить ошибку.

Если веб-данные предоставляются только авторизованным пользователям, то данные авторизации будут запрошены в процессе подключения.

Поддерживаются следующие методы авторизации: Windows, Forms, Basic, OAuth 1.0, OAuth 2.0.

Поддерживаются следующие провайдеры OAuth: Google, Facebook, LinkedIn, Twitter, Windows Live, Yahoo и Yahoo API Key.

Объекты в виде запросов к текстовым файлам

Имя файла и кодировка задаются в поле TABLE_CODE представления конфигурации списка запросов в формате:

<Имя файла>[;CodePage=<Код кодировки>]

Например:

Contacts.csv;CodePage=1251

Имя файла может быть указано относительно каталога рабочей книги.
Это позволяет переносить файлы данных вместе с книгой в другой каталог без изменения запросов.

В запросе можно указать параметры в виде: {ParameterName=DefaultValue}
Такие параметры отображаются на ленте и позволяют пользователям менять запрос.

Пример:

{FileName=Contacts.csv};CodePage={CodePage=1251}

В этом случае, на ленту будут выведены параметры FileName и CodePage.

Пример представления списка запросов

Пример представления списка запросов:

Создание списков запросов в базе данных

Для создания представлений списков запросов удобно использовать базовое представление списка запросов из состава SaveToDB Framework.

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Cookie Policy.