SaveToDB Framework для Microsoft SQL Server

SaveToDB Framework для Microsoft SQL Server

SaveToDB Framework for Microsoft SQL Server

SaveToDB Framework for Microsoft SQL Server содержит готовые решения задач разработки приложений с использованием Microsoft SQL Server и Microsoft Excel.

Фреймворк корректно устанавливается и удаляется. Используются схемы dbo01, xls01 и etl01.

Фреймворк можно быстро установить непосредственно из плагина SaveToDB и сгенерировать книгу для настройки фреймворка из Microsoft Excel.

См. Мастер установки SaveToDB Framework и Мастер создания книги настройки.

 

Далее можно настроить наиболее интересующие возможности:

Установка и удаление

Варианты установки и удаления SaveToDB Framework

Возможны следующие варианты установки и удаления SaveToDB Framework:

  1. С использованием Мастера установки SaveToDB Framework из плагина SaveToDB.
  2. С использованием программы SaveToDB Framework Installer из состава SaveToDB SDK.
  3. С использованием исходного SQL-кода.
  4. С использованием командных файлов.

Первые два способа позволяют установить или удалить SaveToDB Framework во всех поддерживаемых серверах баз данных:
Microsoft SQL Server, Microsoft SQL Server Compact, Oracle Database, IBM DB2, MySQL, MariaDB, PostgreSQL, NuoDB и SQLite.

Описание шагов SaveToDB Framework Installer полностью совпадает с Мастером установки SaveToDB Framework.

Исходный SQL код находится в папке "SaveToDB Framework for SQL Server" в файлах:

  • framework-install-ru.sql
  • framework-remove-ru.sql

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

Замечания к установке и удалению

Для установки и удаления требуются права администратора БД.

После установки следует добавить конечных пользователей Excel к роли SaveToDB_Users, а разработчиков приложений Excel или продвинутых пользователей к роли SaveToDB_Developers.

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

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

Установка и удаление командными файлами

Код и утилиты фреймворка находится в папке "SaveToDB Framework for SQL Server".

Установка

  1. Запустите 1-edit-config.cmd и настройте строку подключения "setup".
  2. Запустите 2-install-savetodb-framework.cmd.
  3. Запустите 3-clear-credentials.cmd и удалите пароль строки подключения "setup".

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

Вместо удаления пароля в строке подключения на шаге 3, можно зашифровать строку:

выберите опцию "Только пользователь" в программе gConnectionManager.

Удаление

  1. Запустите 1-edit-config.cmd и настройте строку подключения "setup".
  2. Запустите framework-remove.cmd.
  3. Запустите 3-clear-credentials.cmd и удалите пароль строки подключения "setup".

Вывод объектов базы данных

  1. Запустите 1-edit-config.cmd и настройте строку подключения "setup".
  2. Запустите framework-list.cmd.
  3. Запустите 3-clear-credentials.cmd и удалите пароль строки подключения "setup".

Схемы и роли

Фреймворк создает следующие схемы базы данных:

СхемаОписание
xls01Схема содержит объекты конфигурации для конечных пользователей.
dbo01Схема содержит данные конфигурации, которые используются разработчиками.
etl01Схема содержит полезные процедуры для разработчиков конфигурации.

Фреймворк создает следующие роли:

РольОписание
SaveToDB_usersРоль конечных пользователей приложений в Microsoft Excel.
SaveToDB_developersРоль разработчиков приложений Microsoft Excel.

Разрешений роли SaveToDB_users достаточно для чтения конфигурации SaveToDB.

Разрешений роли SaveToDB_developers достаточно для чтения и изменения конфигурации SaveToDB.

Список запросов

Назначение

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

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

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

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

Все эти возможности могут быть настроены в базе данных, и SaveToDB Framework предлагает готовую инфраструктуру.

См. Настройка списка запросов, Настройка сохранения изменений.

Таблица данных списка запросов

Таблица dbo01.QueryList является дополнительным источником данных для представлений списков запросов.

CREATE TABLE [dbo01].[QueryList](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [TABLE_SCHEMA] [nvarchar](128) NOT NULL,
    [TABLE_NAME] [nvarchar](128) NOT NULL,
    [TABLE_TYPE] [nvarchar](128) NOT NULL,
    [TABLE_CODE] [nvarchar](max),
    [INSERT_PROCEDURE] [nvarchar](max),
    [UPDATE_PROCEDURE] [nvarchar](max),
    [DELETE_PROCEDURE] [nvarchar](max),
    [PROCEDURE_TYPE] [nvarchar](128),
 CONSTRAINT [PK_QueryList_dbo01] PRIMARY KEY CLUSTERED
(
    [ID]
)
)

Таблица позволяет:

  • Указать SQL-код в списке запросов.
    Код указывается в поле TABLE_CODE, в поле TABLE_TYPE должен быть указан тип CODE.
  • Указать http-запрос в списке запросов.
    Код указывается в поле TABLE_CODE, в поле TABLE_TYPE должен быть указан тип HTTP.
  • Указать запрос к текстовому файлу в списке запросов.
    Код указывается в поле TABLE_CODE, в поле TABLE_TYPE должен быть указан тип TEXT.
  • Указать таблицу сохранения данных, полученных из представлений, хранимых процедур или SQL-кода.
    Таблица должна быть указана во всех трех полях INSERT_PROCEDURE, UPDATE_PROCEDURE и DELETE_PROCEDURE.
  • Указать SQL код или хранимые процедуры для сохранения изменений данных, полученных из представлений, хранимых процедур или SQL-кода.
    Должны быть заполнены все три поля INSERT_PROCEDURE, UPDATE_PROCEDURE и DELETE_PROCEDURE.
  • Указать таблицу, SQL код или хранимые процедуры для слияния данных, полученных из любого источника, в том числе из веб или текстовых файлов.
    Должно быть заполнено одно поле INSERT_PROCEDURE.

См. Настройка списка запросов и Настройка сохранения данных.

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

Представление dbo01.viewQueryList выводит список всех доступных пользователю объектов и данные из таблицы dbo01.QueryList.

Представление удобно использовать разработчикам приложений, т.к. показываются все объекты, в отличие от представления xls01.ViewQueryList.

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

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

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

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

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

CREATE VIEW [xls30].[viewQueryList]
AS
SELECT
    t.TABLE_SCHEMA
    , t.TABLE_NAME
    , t.TABLE_TYPE
    , t.TABLE_CODE
    , t.INSERT_PROCEDURE
    , t.UPDATE_PROCEDURE
    , t.DELETE_PROCEDURE
    , t.PROCEDURE_TYPE
FROM
    xls01.viewQueryList t
WHERE
    t.TABLE_SCHEMA IN ('dbo30', 'xls30', 'xls01')
    AND NOT t.TABLE_NAME IN ('viewCashFlowData')

В примере представления отобраны объекты схем 30 и исключен сервисный объект viewCashFlowData.

Сохранение изменений

Назначение

Плагин SaveToDB к Microsoft Excel поддерживает много методов реализации сохранения изменений данных в Microsoft SQL Server.

См. Настройка сохранения изменений.

Наиболее мощный метод это использование пользовательских хранимых процедур для операций INSERT, UPDATE, DELETE.

В этом разделе описана процедура, которая позволяет генерировать такие процедуры для нормализованных таблиц баз данных Microsoft SQL Server.

Процедура генерации процедур сохранения изменений

Процедура etl01.uspGenerateEditProcedures позволяет генерировать пользовательские процедуры для операций SELECT, INSERT, UPDATE, DELETE для таблиц БД, включая таблицы с отношениями внешних ключей.

Объявление процедуры:

CREATE PROCEDURE [etl01].[uspGenerateEditProcedures]
    @TableSchema nvarchar(128) = NULL
    , @TableName nvarchar(128) = NULL
    , @TargetSchema nvarchar(128) = NULL
    , @ExecuteScript bit = 0
    , @RecreateProceduresIfExist bit = 0

По умолчанию, используются следующие имена генерируемых процедур:

<object>[_select]- процедуры для SELECT (можно использовать <object> для представления и <object>_select для процедуры)
<object>_insert- процедура для INSERT
<object>_update- процедура для UPDATE
<object>_delete- процедура для DELETE

Важно!

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

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

Например:

Таблица dbo60.Item содержит внешний ключ CategoryID из таблицы dbo60.Category.

Таблица dbo60.Category содержит поле Name, которое намного понятнее пользователям, чем CategoryID.

Соответственно, мы можем создать уникальный ключ для поля Name, и процедура генерации вставит поле CategoryName вместо CategoryID и будет его преобразовать в CategoryID в теле процедур INSERT и UPDATE со всей необходимой инфраструктурой обновления таблиц.

Пример кода таблицы с уникальным ключом:

CREATE TABLE [dbo60].[Category](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) NOT NULL
 CONSTRAINT [PK_Category_dbo60] PRIMARY KEY CLUSTERED
(
    [ID] ASC
),
 CONSTRAINT [IX_Category_dbo60] UNIQUE NONCLUSTERED
(
    [Name] ASC
)
)
GO

CREATE TABLE [dbo60].[Item](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [CategoryID] [int] NULL,
    [Name] [nvarchar](255) NULL,
 CONSTRAINT [PK_Item_dbo60] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)
)
GO

ALTER TABLE [dbo60].[Item]  WITH CHECK ADD  CONSTRAINT [FK_Item_Category_dbo60] FOREIGN KEY([CategoryID])
REFERENCES [dbo60].[Category] ([ID])
ON UPDATE CASCADE
ON DELETE SET NULL
GO

Обработка событий

Назначение

Используя плагин SaveToDB к Microsoft Excel можно обрабатывать события Microsoft Excel хранимыми процедурами Microsoft SQL Server, заданным SQL-кодом или http-запросами:

  • Change
  • DoubleClick
  • SelectionChange

За счет этого можно изменять любые данные базы данных из Microsoft Excel, реализовывать уточняющие запросы, логику Master-Details и т.д.

Также можно настроить контекстное меню Microsoft Excel и меню "Действия" плагина для запуска:

  • представлений,
  • хранимых процедур,
  • SQL-кода,
  • http-запросов,
  • запросов к текстовым файлам,
  • макросов,
  • команд Windows Shell и CMD,
  • обновления справочников Excel из баз данных.

См. Настройка обработчиков событий.

Таблица данных обработчиков событий

Таблица dbo01.EventHandlers содержит конфигурацию обработчиков событий.

CREATE TABLE [dbo01].[EventHandlers](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [TABLE_SCHEMA] [nvarchar](128) NOT NULL,
    [TABLE_NAME] [nvarchar](128) NOT NULL,
    [COLUMN_NAME] [nvarchar](128),
    [EVENT_NAME] [varchar](50) NOT NULL,
    [HANDLER_SCHEMA] [nvarchar](128),
    [HANDLER_NAME] [nvarchar](128) NOT NULL,
    [HANDLER_TYPE] [nvarchar](128),
    [HANDLER_CODE] [nvarchar](max),
    [TARGET_WORKSHEET] [nvarchar](128),
    [MENU_ORDER] [int],
    [EDIT_PARAMETERS] [bit],
    [IS_ACTIVE] [bit],
 CONSTRAINT [PK_EventHandlers_dbo01] PRIMARY KEY CLUSTERED ([ID] ASC)
)

ALTER TABLE [dbo01].[EventHandlers] ADD  CONSTRAINT [DF_EventHandlers_IS_ACTIVE]  DEFAULT ((1)) FOR [IS_ACTIVE]

Описание полей конфигурации см. в разделе Настройка обработчиков событий.

Поле IS_ACTIVE используется для активации обработчиков.
Процедура добавления новых возможных обработчиков etl01.uspUpdateEventHandlers добавляет строки со значением NULL.

Поле HANDLER_CODE может содержать SQL-код или текст http-запросов.

Рекомендуемый формат имен обработчиков событий:

  • uspExcelEvent_<Event>_<Schema>_<Name>
  • uspExcelEvent_<Event>_<Schema>_<Name>_<Column>
  • viewExcelEvent_<Event>_<Schema>_<Name>
  • viewExcelEvent_<Event>_<Schema>_<Name>_<Column>

где <Schema>_<Name> - имя объекта, к которому относится обработчик, а <Event> принимает допустимые имена событий:

  • Actions
  • Change
  • DoubleClick
  • ContextMenu
  • SelectionChange

Объекты с такими именами автоматически исключаются из списков запросов.

Представление конфигурации обработчиков событий

Представление xls01.viewEventHandlers используется для настройки плагина и просто выбирает данные из таблицы dbo01.EventHandlers.

CREATE VIEW [xls01].[viewEventHandlers]
AS
SELECT
    t.ID
    , t.TABLE_SCHEMA
    , t.TABLE_NAME
    , t.COLUMN_NAME
    , t.EVENT_NAME
    , t.HANDLER_SCHEMA
    , t.HANDLER_NAME
    , t.HANDLER_TYPE
    , t.HANDLER_CODE
    , t.TARGET_WORKSHEET
    , t.MENU_ORDER
    , t.EDIT_PARAMETERS
FROM
    [dbo01].[EventHandlers] t
WHERE
    t.IS_ACTIVE = 1

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

Сервисные процедуры

Процедура etl01.uspUpdateEventHandlers

Процедура добавляет обработчики в таблицу dbo01.EventHandlers для наследуемых объектов.

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

Имена обработчиков должны следовать определенным форматам:

  • uspExcelEvent_<Event>_<Schema>_<Name>
  • uspExcelEvent_<Event>_<Schema>_<Name>_<Column>

После добавления обработчиков в таблицу dbo01.EventHandlers следует активировать требуемые обработчики, установив поле IS_ACTIVE в True.

Процедура не работает в Microsoft SQL Server 2005.

Процедура etl01.uspGenerateGenegicHandler

Процедура используется для генерации шаблона процедуры-обработчика событий.

Процедура etl01.uspGenerateChangeHandler

Процедура используется для генерации шаблона процедуры-обработчика события Change, которая позволяет сохранять изменения в объекте базы данных сразу после изменения ячейки.

Перевод данных

Назначение

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

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

См. Настройка перевода данных.

Таблица данных перевода объектов базы данных

Таблица dbo01.ObjectTranslation содержит данные перевода объектов.

CREATE TABLE [dbo01].[ObjectTranslation](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [TABLE_SCHEMA] [nvarchar](128) NOT NULL,
    [TABLE_NAME] [nvarchar](128) NOT NULL,
    [LANGUAGE_NAME] [char](2) NOT NULL,
    [TRANSLATED_NAME] [nvarchar](128) NULL,
    [TRANSLATED_DESC] [nvarchar](255) NULL,
    [TRANSLATED_COMMENT] [nvarchar](4000) NULL,
 CONSTRAINT [PK_ObjectTranslation_dbo01] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)
)

CREATE UNIQUE NONCLUSTERED INDEX [IX_ObjectTranslation_Schema_Name_Language_dbo01] ON [dbo01].[ObjectTranslation]
(
    [TABLE_SCHEMA] ASC,
    [TABLE_NAME] ASC,
    [LANGUAGE_NAME] ASC
)

Описание полей см. в разделе Настройка перевода данных.

Можно изменить разрядность полей TRANSLATED_*, если требуются описания большей длины.

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

Представление xls01.viewObjectTranslation используется для настройки плагина и просто выбирает данные из таблицы dbo01.ObjectTranslation.

CREATE VIEW [xls01].[viewObjectTranslation]
AS
    SELECT
        t.ID
        , t.TABLE_SCHEMA
        , t.TABLE_NAME
        , t.LANGUAGE_NAME
        , t.TRANSLATED_NAME
        , t.TRANSLATED_DESC
        , t.TRANSLATED_COMMENT
    FROM
        [dbo01].[ObjectTranslation] t

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

Таблица данных перевода полей и параметров

Таблица dbo01.viewColumnTranslation содержит данные перевода полей и параметров объектов базы данных.

CREATE TABLE [dbo01].[ColumnTranslation](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [TABLE_SCHEMA] [nvarchar](128) NULL,
    [TABLE_NAME] [nvarchar](128) NULL,
    [COLUMN_NAME] [nvarchar](128) NOT NULL,
    [LANGUAGE_NAME] [char](2) NOT NULL,
    [TRANSLATED_NAME] [nvarchar](128) NULL,
    [TRANSLATED_DESC] [nvarchar](1024) NULL,
 CONSTRAINT [PK_ColumnTranslation_dbo01] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)
)

CREATE UNIQUE NONCLUSTERED INDEX [IX_ColumnTranslation_Schema_Name_Column_Language_dbo01] ON [dbo01].[ColumnTranslation]
(
    [TABLE_SCHEMA] ASC,
    [TABLE_NAME] ASC,
    [COLUMN_NAME] ASC,
    [LANGUAGE_NAME] ASC
)

Описание полей см. в разделе Настройка перевода данных.

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

Представление xls01.viewColumnTranslation используется для настройки плагина и просто выбирает данные из таблицы dbo01.viewColumnTranslation.

CREATE VIEW [xls01].[viewColumnTranslation]
AS
    SELECT
        t.ID
        , t.TABLE_SCHEMA
        , t.TABLE_NAME
        , t.COLUMN_NAME
        , t.LANGUAGE_NAME
        , t.TRANSLATED_NAME
        , t.TRANSLATED_DESC
    FROM
        [dbo01].[ColumnTranslation] t

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

Представление описания объектов

Представление xls01.viewObjectDescription выводит информацию о доступных пользователю объектах БД, для которых есть описание в таблице dbo01.ObjectTranslation.

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

Сервисные процедуры

etl01.uspUpdateColumnTranslation
Процедура добавляет данные полей таблиц и представлений в таблицу dbo01.viewColumnTranslation для заданной схемы и языка.
etl01.uspUpdateColumnTranslation_Group
Процедура добавляет данные полей таблиц и представлений в таблицу dbo01.viewColumnTranslation для заданной схемы и языка, но без указания объектов, что позволяет использовать перевод сразу для группы объектов.
etl01.uspUpdateObjectTranslation
Процедура добавляет данные объектов БД в таблицу dbo01.ObjectTranslation для заданной схемы и языка.
etl01.uspUpdateObjectTranslationAbsent
Процедура добавляет данные новых объектов БД в таблицу dbo01.ObjectTranslation для существующих сочетаний схем и языков.

Значения параметров

Назначение

Используя плагин SaveToDB пользователи могут работать в Microsoft Excel с хранимыми процедурами и запросами в виде SQL кода так же, как с таблицами или представлениями.

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

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

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

См. Настройка значений параметров.

Таблица конфигурации запросов значений параметров

Таблица dbo01.ParameterValues служит источником данных для представления конфигурации xls01.viewParameterValues.

CREATE TABLE [dbo01].[ParameterValues](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [TABLE_SCHEMA] [nvarchar](128) NOT NULL,
    [TABLE_NAME] [nvarchar](128) NOT NULL,
    [PARAMETER_NAME] [nvarchar](128) NOT NULL,
    [SELECT_SCHEMA] [nvarchar](128),
    [SELECT_NAME] [nvarchar](128) NOT NULL,
    [SELECT_TYPE] [nvarchar](128),
    [SELECT_CODE] [nvarchar](max),
 CONSTRAINT [PK_ParameterValues_dbo01] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)
)

CREATE UNIQUE NONCLUSTERED INDEX [IX_ParameterValues_Schema_Name_Parameter_dbo01] ON [dbo01].[ParameterValues]
(
    [TABLE_SCHEMA],
    [TABLE_NAME],
    [PARAMETER_NAME]
)

Описание полей см. в разделе Настройка значений параметров.

Рекомендуемый формат имен объектов запроса значений SELECT_NAME параметров PARAMETER_NAME:

  • viewParameterValues_<PARAMETER_NAME>
  • uspParameterValues_<PARAMETER_NAME>

Объекты с такими именами исключаются из списков запросов.

Поле SELECT_CODE может содержать SQL-код. При этом в поле SELECT_TYPE должен быть указан тип CODE.

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

Представление xls01.viewParameterValues используется для настройки плагина и просто выбирает данные из таблицы dbo01.ParameterValues.

CREATE VIEW [xls01].[viewParameterValues]
AS
SELECT
    t.ID
    , t.TABLE_SCHEMA
    , t.TABLE_NAME
    , t.PARAMETER_NAME
    , t.SELECT_SCHEMA
    , t.SELECT_NAME
    , t.SELECT_TYPE
    , t.SELECT_CODE
FROM
    [dbo01].[ParameterValues] t

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

См. раздел Настройка значений параметров.

Форматы таблиц

Назначение

Данный компонент позволяет сохранять и восстанавливать форматирование таблиц Microsoft Excel для объектов БД в базе данных.

Форматирование таблицы загружается при первом подключении к объекту.
За счет этого пользователь получает не только данные, но и полное форматирование, включая:

  • форматы ячеек,
  • условное форматирование,
  • колонки формул,
  • строки итогов,
  • примененные авто-фильтры,
  • настройки печати,
  • настройки окна,
  • видимость колонок,
  • пользовательские виды таблиц.

Управление форматами производится из Мастера управления форматами таблиц.

См. также Настройка форматов таблиц.

Таблица форматов

Таблица dbo01.TableFormats хранит форматирование таблиц Microsoft Excel для объектов базы данных.

CREATE TABLE [dbo01].[TableFormats](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [TABLE_SCHEMA] [nvarchar](128) NOT NULL,
    [TABLE_NAME] [nvarchar](128) NOT NULL,
    [TABLE_EXCEL_FORMAT_XML] [xml] NULL,
 CONSTRAINT [PK_TableFormat_dbo01] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)
)

CREATE UNIQUE NONCLUSTERED INDEX [IX_TableFormats_Schema_Name_dbo01] ON [dbo01].[TableFormats]
(
    [TABLE_NAME] ASC,
    [TABLE_SCHEMA] ASC
)

Данные таблицы управляются плагином при сохранении из Мастера управления форматами таблиц с использованием процедуры dbo01.uspUpdateTableFormat.

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

Представление xls01.viewTableFormats используется плагином для выборки сохраненных форматов таблиц и просто выбирает данные из таблицы dbo01.TableFormats.

CREATE VIEW [xls01].[viewTableFormats]
AS
    SELECT
        t.ID
        , t.TABLE_SCHEMA
        , t.TABLE_NAME
        , t.TABLE_EXCEL_FORMAT_XML
    FROM
        [dbo01].[TableFormats] t

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

Процедура сохранения форматов

Процедура dbo01.uspUpdateTableFormat используется плагином SaveToDB для сохранения или удаления форматов таблиц в таблице dbo01.TableFormats.

Объявление процедуры:

CREATE PROCEDURE [dbo01].[uspUpdateTableFormat]
    @Schema nvarchar(128) = NULL
    , @Name nvarchar(128) = NULL
    , @ExcelFormatXML xml = NULL

История изменений

Версия 7.2 от 20.03.2017

[*] Новые типы обработчиков событий: ConvertFormulas и DoNotConvertFormulas.
[*] Добавлены списки проверки значений в таблицы QueryList, EventHandlers, ParameterValues и их представления.
[*] Поле EventHandlers.HANDLER_NAME может содержать значения NULL.

Версия 7.1 от 03.02.2017

[*] Добавлены типы RANGE и VALUES в поле SELECT_TYPE.
[*] Добавлены типы RANGE и VALUES в поле HANDLER_TYPE.

Версия 7.0 от 17.01.2017

[*] Обновлены командные файлы и файлы readme.txt.
SQL-код объектов SaveToDB Framework версии 6.10 остался неизменным.

Версия 6.10 от 02.11.2016

[-] Исправлен запрос dbo01.viewQueryList для работы с базами данных, содержащими точки в именах.

Версия 6.9 от 21.06.2016

[+] Новый тип обработчика событий: ProtectRows.
[*] Улучшена производительность представлений dbo01.viewQueryList и xls01.viewQueryList.
Добавлены фильтры для исключения объектов SaveToDB Framework.
[*] Представление xls01.viewObjectDescription не отображается в результатах xls01.viewQueryList.
Вы можете добавить его в пользовательские списки запросов самостоятельно.

Версия 6.8 от 27.05.2016

[-] Исправлена работа со смешанными кодировками баз данных и таблиц.

Версия 6.7 от 14.04.2016

[*] Фреймворк включает обновленный список значений колонки EVENT_NAME таблиц конфигурации обработчиков событий.
Используйте файл savetodb-framework-62-upgrade-to-67.sql для обновления версий 6.2.
После обновления используйте Мастер управления форматами таблиц для перезагрузки списков в существующие таблицы Excel.
Также можно создать новые книги настройки, используя Мастер генерации книги настройки.

Версия 6.2 от 23.12.2015

[+] Новые типы обработчиков событий: DoNotSelect, DoNotSave, DoNotChange, Formula, FormulaValue, ValidationList.
[*] Улучшена производительность представлений dbo01.viewQueryList и xls01.viewQueryList, а также их производных.
[+] Добавлены SaveToDB Framework в стиле MySQL (нижний регистр) и Oracle (верхний регистр).
Можно использовать эти версии, чтобы соблюсти единые соглашения об именовании объектов в базе данных.
[!] Дополнительные функции SaveToDB Framework 5.0 вынесены в отдельные пакеты:
SaveToDB Framework Administrator Tools
SaveToDB Framework Generator Tools
SaveToDB Framework Handler Tools
SaveToDB Framework Type Tools
Пакеты можно найти в каталоге SaveToDB Framework for SQL Server в составе SaveToDB SDK.
Изменение структуры делает SaveToDB Framework более понятным.
[*] В представлении dbo01.viewQueryList исключаются объекты с именами в формате '%_change'.
[*] В представлении xls01.viewQueryList исключаются объекты с именами в форматах: 'viewValidationList_%', 'uspValidationList_%', 'xl_%', 'view_xl_%', 'usp_xl_%', 'ufn_xl_%'.
Эти соглашения можно использовать для создания списков проверки и других технических объектов для приложений Excel.
[*] Для обновления SaveToDB Frameworks 5.0 можно использовать код в каталоге "SaveToDB Framework Upgrade 5.0 to 6.2".

Версия 5.2 от 12.05.2015

[*] Обновлены командные файлы.
[*] В представлениях dbo01.viewQueryList и xls01.viewQueryList выводятся табличные функции,
т.к. SaveToDB 5.2 поддерживает такое подключение.
Функции с префиксами ufnExcelEvent_ и ufnParameterValues_ исключаются из вывода.
[*] Процедуры с суффиксом _merge исключаются из вывода в представлениях dbo01.viewQueryList и xls01.viewQueryList.

Версия 5.0 от 13.04.2015

[*] В таблицу dbo01.QueryList и представления viewQueryList добавлены поля TABLE_CODE и PROCEDURE_TYPE.
[*] Типы полей INSERT_PROCEDURE, UPDATE_PROCEDURE, DELETE_PROCEDURE изменены на nvarchar(max), чтобы было можно хранить большой SQL код.
[*] В таблицу dbo01.EventHandlers и представление xls01.viewEventHandlers добавлено поле HANDLER_CODE.
[*] В таблицу dbo01.ParameterValues и представление xls01.viewParameterValues добавлено поле SELECT_CODE.
[*] Поля SPECIFIC_SCHEMA и SPECIFIC_NAME таблицы dbo01.ParameterValues и представления xls01.viewParameterValues переименованы в TABLE_SCHEMA и TABLE_NAME.
[*] Типы полей TABLE_SCHEMA и HANDLER_SCHEMA изменены на nvarchar(128).
[+] Добавлены объекты приложения для управления ролями пользователей и правами на объекты.
Для работы достаточно подключиться к объектам списка запросов viewQueryListTools с использованием SaveToDB.
[+] Добавлен SQL код для обновления объектов SaveToDB Frameworks 3.x-4.x.
Вы можете найти код в папке "SaveToDB Framework Upgrade to 50" в составе SaveToDB SDK.

Версия 4.8 от 27.08.2014

[+] Выпущен отдельный SaveToDB Framework для Microsoft SQL Server 2000.
[-] Исправлены ошибки кодировки при выводе сообщений в командных файлах.
Все командные файлы переведены на кодировку CP866.

Версия 4.7 от 15.07.2014

[*] Командные файлы обновлены на использование утилиты командной строки gsqlcmd.exe вместо sqlcmd.exe.
Вследствие этого, операции установки и удаления можно совершать без предустановленных компонент Microsoft SQL Server.

Версия 4.0 от 13.12.2013

[*]Размер полей INSERT_PROCEDURE, UPDATE_PROCEDURE, DELETE_PROCEDURE таблицы dbo01.QueryList увеличен до 2000 символов.
Эти поля могут содержать SQL код для сохранения изменений. Размер полей можно увеличить по необходимости.
[*]Изменено представление dbo01.viewQueryList для вывода запросов в виде SQL-кода, запросов к веб и текстовым файлам (типы CODE, HTTP, TEXT).
[*]В таблицы dbo01.ParameterValues, dbo01.ObjectTranslation, dbo01.ColumnTranslation, dbo01.TableFormats добавлены уникальные индексы.
[*]В меню "Действия" добавлены ссылки на онлайн документацию для таблиц и представлений SaveToDB Framework for SQL Server.

Версия 3.0 от 10.06.2013

[!]Переименованы объекты фреймворка для приведения имен к единому образцу. См. таблицу ниже.
[+]Добавлена возможность установки и удаления SaveToDB Framework непосредственно из Microsoft Excel, а также отдельным установщиком SaveToDB Framework Installer.
[+]В плагин SaveToDB добавлена возможность генерации книги для настройки всех конфигурационных таблиц SaveToDB Framework непосредственно из Microsoft Excel.
[*]Добавлены поля в таблицу dbo01.EventHandlers и представление конфигурации обработчиков xls01.viewEventHandlers для настройки новых возможностей SaveToDB 3.0.
Представления конфигурации в форматах 3.0 и 2.x могут сосуществовать в одной базе данных.
[*]Добавлены процедуры etl01.uspGenerateChangeHandler и etl01.uspGenerateGenegicHandler для генерации процедур обработчиков событий.
[*]Увеличена размерность полей перевода в таблицах перевода объектов dbo01.ObjectTranslation и колонок dbo01.ColumnTranslation.
[*]Добавлено представление dbo01.ViewQueryList, которое не исключает объекты SaveToDB Framework.
Представление удобно использовать для подключения к объектам SaveToDB Framework разработчиками приложений.
[*]Добавлена таблица dbo01.QueryList, которую можно использовать для добавления SQL-кода или http-запросов в списки запросов, а также для указания таблицы сохранения данных из представлений и процедур встроенными процедурами плагина SaveToDB.
Таблица является дополнительным источником информации для представлений списков запросов dbo01.ViewQueryList и xls01.ViewQueryList.
[*]Изменено представление конфигурации объектов запроса значений параметров xls01.viewParameterValues.
Значения выбираются из новой таблицы dbo01.ParameterValues.
Таким образом, все представления конфигурации выбирают значения из соответствующих таблиц.
[*]Добавлено описание объектов и полей фреймворка в таблицы перевода.
Таким образом, основное описание объектов конфигурации можно получить непосредственно в Microsoft Excel.
[*]Добавлено представление xls01.viewObjectDescription, которое выводит информацию о доступных пользователю объектах из таблицы dbo01.ObjectTranslation. Удобно использовать это представление как начальную таблицу в книгах Excel.
[*]Добавлена процедура etl01.uspUpdateObjectTranslationAbsent для вставки строк в таблицу перевода dbo01.ObjectTranslation по новым объектам.
[*]Документация перенесена из файлов readme.htm и *.sql в этот файл.
[+]Добавлен автоматически генерируемый файл framework-setup-ru.sql, который содержит полный код фреймворка.
Файл удобно использовать, если необходимо установить фреймворк из SSMS или изменить схемы фреймворка.
[+]Добавлены утилиты импорта-экспорта данных фреймворка.
Утилиты находятся в папке import-export.
[-]Исправлен ряд ошибок установки в Microsoft SQL Server 2005.

Переименование основных объектов SaveToDB Framework:

SaveToDB Framework 2.0SaveToDB Framework 3.0
dbo01.Translation_Objectsdbo01.ObjectTranslation
dbo01.Translation_Columnsdbo01.ColumnTranslation
dbo01.ExcelEventHandlersdbo01.EventHandlers
dbo01.ExcelTableFormatsdbo01.TableFormats
xls01.viewTranslation_Columnsxls01.viewObjectTranslation
xls01.viewTranslation_Objectsxls01.viewColumnTranslation
xls01.viewExcelEventHandlersxls01.viewEventHandlers
xls01.viewParameterValuesQueriesxls01.viewParameterValues
xls01.viewExcelTableFormatsxls01.viewTableFormats
dbo01.uspUpdateExcelTableFormatdbo01.uspUpdateTableFormat

Системные требования

Поддерживаемые версии SaveToDB:

  • SaveToDB 6.x и выше
  • SaveToDB 5.x, без новых возможностей SaveToDB 6.x-7.x

Поддерживаемые версии Microsoft SQL Server:

  • Microsoft SQL Server 2000 *
  • Microsoft SQL Server 2005
  • Microsoft SQL Server 2008
  • Microsoft SQL Server 2008 R2
  • Microsoft SQL Server 2012
  • Microsoft SQL Server 2012 Express LocalDB
  • Microsoft SQL Server 2014
  • Microsoft SQL Server 2014 Express LocalDB
  • Microsoft SQL Server 2016
  • Microsoft SQL Server 2016 Express LocalDB
  • Microsoft Azure SQL Database

* SaveToDB Framework for Microsoft SQL Server 2000 и SaveToDB Framework for Microsoft SQL Server - различные фреймворки.

Примеры для Microsoft SQL Server

SaveToDB SDK включает рабочие книги Microsoft Excel примеров приложений для Microsoft SQL Server, которые развернуты в облачной базе данных Microsoft Azure SQL Database и доступны для тестирования сразу после загрузки.

SaveToDB SDK также включает исходный код примеров для установки на Microsoft SQL Server и рабочие книги Microsoft Excel онлайн-примеров, в которых ссылки изменены на локальный сервер.

В примерах продемонстрированы все возможности SaveToDB для построения приложений.

Руководство разработчика 5.3 для Microsoft SQL Server

Пример демонстрирует возможности создания приложений Microsoft Excel с использованием плагина SaveToDB и баз данных Microsoft SQL Server.

Это наиболее полное руководство для разработчиков. Обязательно попробуйте.

Руководство разработчика 6.2 для Microsoft SQL Server

Пример демонстрирует новые возможности SaveToDB 6.2.

Руководство разработчика 6.5 для Microsoft SQL Server

Пример демонстрирует новые возможности SaveToDB 6.5 по работе с внешними ключами. Обязательно попробуйте.

Azure Catalog

Большой пример возможностей работы:

  • Использование представлений и хранимых процедур с параметрами для вывода иерархических данных.
  • Формирование списков значений параметров представлениями и хранимыми процедурами, которые сами зависят от параметров.
  • Изменение данных в базе данных за счет применения обработчиков событий Change.
  • Защита данных от изменений за счет применения обработчиков событий Change.
  • Программирование контекстного меню Microsoft Excel и меню "Действия" плагина SaveToDB.
  • Использование формул Microsoft Excel, заданных в представлениях и хранимых процедурах базы данных.
  • Сложное условное форматирование для представления иерархических данных.
  • Использование возможностей перевода имен объектов базы данных, полей, параметров, обработчиков событий.

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

Для примера требуется SQL Server 2008 или выше, т.к. в примере используется иерархический тип данных, новая возможность SQL Server 2008.

Azure Calendar

Пример использования процедур SQL Server для обработки событий Excel:

  • двойной клик,
  • контекстное меню,
  • изменение ячейки.

За счет использования обработчиков событий можно быстро и просто создавать приложения в Microsoft Excel для выборки и обработки данных в базе данных.

Процедуры примера могут использоваться как шаблоны обработчиков событий.

Azure Payments

Простой пример системы учета платежей для демонстрации базовых возможностей:

  • Сохранение изменений в таблицах без программирования, "из коробки".
  • Использование отчетов на SQL вместо сводных таблиц.
  • Переключение запросов к базе данных из Списка запросов.

Azure Payments + VBA

Простой пример системы учета платежей для демонстрации возможностей:

  • Работа с нормализованными таблицами.
  • Использование плагина SaveToDB из макросов VBA.
  • Создание пользовательских форм ввода данных.

Azure Budget

Пример системы бюджетирования для демонстрации работы с нормализованными таблицами:

  • Сохранение изменений в нормализованных таблицах за счет хранимых процедур.
  • Использование отчетов на SQL вместо сводных таблиц.
  • Использование сложных экранных форм, а не "просто табличек".
  • Переключение запросов к базе данных из Списка запросов.

Требуется редакция SaveToDB Enterprise или пробная версия.

Azure Stocks

Пример системы отчетов по акциям для демонстрации продвинутых возможностей:

  • Сохранение и восстановление форматирования и формул при перестроении запросов.
  • Авто-сохранение изменений в базу данных (без кнопки "Сохранить в БД").
  • Изменение параметров запроса через параметры на ленте.
  • Обновление ячеек листа значениями параметров.
  • Детализирующий запрос к базе данных (drill-down) по двойному щелчку.
  • Детализирующий запрос к базе данных из контекстного меню.

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

Azure Tasks

Пример системы задач для демонстрации продвинутых возможностей:

  • Сохранение и восстановление форматирования и формул при перестроении запросов.
  • Формирование списка значений параметров на ленте представлениями.
  • Сохранение в базе данных значений колонок с формулами Excel.
  • Управление видами таблиц.

Database Management

Пример приложения управления ролями пользователей и правами на объекты базы данных из Microsoft Excel.

Можно использовать в реальной работе администратора и разработчика базы данных.

В примере используется обработчик события Change для запуска хранимых процедур изменения прав.

Extended Properties Editor

Пример изменения расширенных свойств объектов базы данных из Microsoft Excel.

В примере используется обработчик события Change для запуска хранимых процедур изменения расширенных свойств.

Пример не работает в Microsoft Azure SQL Database, т.к. Microsoft Azure SQL Database не поддерживает расширенные свойства.

Установка и удаление примеров приложений

Установка примеров приложений Microsoft SQL Server

Для развертывания примера следует выполнить следующие шаги:

  1. Установить базу данных примера приложения.
  2. Изменить данные подключения в книге Microsoft Excel примера.

Установка базы данных примера

Код развертывания базы данных примеров Microsoft SQL Server находится в папке "source code" соответствующего примера.

Откройте папку и выполните следующие командные файлы:

  1. Запустите 1-edit-config.cmd и настройте строки подключения "setup" и "master".
  2. Запустите 2-edit-grants.cmd и измените права, если необходимо.
  3. Запустите 3-install-savetodb-framework.cmd для установки SaveToDB Framework for Microsoft SQL Server.
  4. Запустите 4-install-application.cmd для установки приложения.
  5. Запустите 5-clear-credentials.cmd и удалите пароли строк "setup" и ''master".

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

Пользователи строк "setup" и "master" должны обладать правами администратора.

Вместо удаления паролей в строках подключения на шаге 5, можно зашифровать строки:
выберите опцию "Только пользователь" в программе gConnectionManager.

Пример также можно установить вручную, используя файл application-install.sql.

Изменение параметров подключения в рабочей книге Microsoft Excel

В папке примеров содержатся предварительно настроенные рабочие книги Microsoft Excel для конечных пользователей и разработчиков приложений.

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

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

Для изменения параметров подключения следует:

  1. Активировать вкладку SaveToDB и запустить "Мастер изменения строк подключения".
  2. Ввести новые параметры сервера и базы данных и нажать кнопку "Далее".
  3. Отметить все таблицы и нажать кнопку "Готово".

Далее следует обновить данные всех таблиц рабочей книги Microsoft Excel.

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

Имена и пароли пользователей в рабочих книгах Microsoft Excel:

ПримерЛогин разработчикаПароль разработчикаЛогин пользователяПароль пользователя
Azure Calendarcalendar11_developerDev_2011#_Xls4168calendar11_userUsr_2011#_Xls4168
Azure Catalogcatalog13_developerDev_2011#_Xls4168catalog13_userUsr_2011#_Xls4168
Azure Paymentspayments31_developerDev_2011#_Xls4168payments31_userUsr_2011#_Xls4168
Azure Budgetbudget41_developerDev_2011#_Xls4168budget41_userUsr_2011#_Xls4168
Azure Stocksstocks51_developerDev_2011#_Xls4168stocks51_userUsr_2011#_Xls4168
Azure Taskstasks61_developerDev_2011#_Xls4168tasks61_userUsr_2011#_Xls4168

Примеры Database Management и Extended Properties Editor запускаются от имени любого пользователя, имеющего права на соответствующие схемы. 

Удаление примеров приложений Microsoft SQL Server

Для удаления откройте папку "source code" соответствующего примера и выполните следующие командные файлы:

  1. Запустите 1-edit-config.cmd и настройте строку подключения "setup".
  2. Запустите application-remove.cmd.
  3. Запустите 5-clear-credentials.cmd и удалите пароль подключения "setup".

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

Вместо удаления пароля в строке подключения на шаге 3, можно зашифровать строку:
выберите опцию "Только пользователь" в программе gConnectionManager.

Пример также можно удалить вручную, используя файл application-remove.sql.

Утилита командной строки gsqlcmd

Командные файлы установки и удаления примеров используют утилиту командной строки gsqlcmd,
которая позволяет выполнять SQL код и экспортировать данные на всех поддерживаемых платформах баз данных.

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

В составе SaveToDB SDK утилита находится в подкаталоге gsqlcmd и доступна из только подкаталогов SaveToDB SDK.

История изменений

Версия 7.2 от 20.03.2017

[+] Руководство разработчика 7.2.
[*] Обновлен SaveToDB Framework 7.2.

Версия 7.1 от 03.02.2017

[+] Руководство разработчика 7.1.

Версия 7.0 от 17.01.2017

[*] Обновлены даты на 2017 год.
[*] Обновлены SaveToDB Framework 7.0, командные файлы и файлы readme.txt.

Системные требования

Поддерживаемые версии SaveToDB:

  • SaveToDB 5.x и выше

Поддерживаемые версии SaveToDB Framework for Microsoft SQL Server:

  • SaveToDB Framework 5.0 for Microsoft SQL Server и выше

Поддерживаемые версии Microsoft SQL Server:

  • Microsoft SQL Server 2008
  • Microsoft SQL Server 2008 R2
  • Microsoft SQL Server 2012
  • Microsoft SQL Server 2012 Express LocalDB
  • Microsoft SQL Server 2014
  • Microsoft SQL Server 2014 Express LocalDB
  • Microsoft SQL Server 2016
  • Microsoft SQL Server 2016 Express LocalDB
  • Microsoft Azure SQL Database

Примеры для Microsoft SQL Server Compact

SaveToDB SDK включает рабочие книги Microsoft Excel и готовые базы данных примеров приложений для Microsoft SQL Server Compact.

SaveToDB SDK также включает полный исходный код примеров и командные файлы для установки и удаления приложений.

В примерах продемонстрированы все возможности SaveToDB для построения приложений с использованием Microsoft Excel.

Руководство разработчика 6.5 для Microsoft SQL Server Compact

Пример демонстрирует возможности создания приложений Microsoft Excel с использованием плагина SaveToDB и баз данных Microsoft SQL Server Compact.

Обязательно попробуйте.

Приложение загрузки данных торгов из Интернет

Приложение позволяет загружать данные торгов с сайтов Google Finance и Yahoo! Finance и сохранять данные в базе данных.

Приложение реестра платежей

Приложение позволяет вести реестр платежей и строить отчеты о движении денежных средств.

Пример DDE Interactive Brokers

Пример демонстрирует возможности настройки формул DDE без использования макросов.
Пример работает с Trader Workstation (TWS), мощной торговой платформой от Interactive Brokers.

Пример DDE Thinkorswim

Пример демонстрирует возможности настройки формул DDE без использования макросов.
Пример работает с Thinkorswim thinkDesktop, мощной торговой платформой от Thinkorswim, подразделения TD Ameritrade.

Пример загрузки данных торгов из Интернет

Пример демонстрирует возможности загрузки финансовых данных из Интернет.

Пример загрузки из текстовых файлов

Пример демонстрирует возможности загрузки данных из текстовых файлов в форматах CSV, XML и HTML.

Пример загрузки курсов валют ЦБ

Пример демонстрирует возможности загрузки и сохранения курсов валют, полученных с сайта ЦБ РФ.

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

Пример демонстрирует возможности работы с макросами.

Пример обработки событий Excel

Пример демонстрирует возможности обработки событий Excel за счет SQL кода и объектов базы данных.
Достаточно просто можно добавить сохранение изменений в базу данных, детализирующие отчеты к базе данных, вывод детализированных данных в связанное окно и т.д.

Пример сохранения изменений в базу данных

Пример демонстрирует различные варианты реализации сохранения изменений в базу данных.

Установка и удаление примеров приложений

Установка примеров приложений SQL Server Compact

Для развертывания примера следует выполнить следующие шаги:

  1. Установить базу данных примера приложения.
  2. Изменить данные подключения в книге Microsoft Excel примера.

Установка базы данных примера

Код развертывания базы данных примеров SQL Server Compact находится в папке "source code" соответствующего примера.

Откройте папку и выполните следующие командные файлы:

  1. Запустите 1-edit-config.cmd и настройте строку подключения "setup".
  2. Запустите 2-create-database.cmd, если необходимо.
  3. Запустите 3-install-savetodb-framework.cmd для установки SaveToDB Framework for SQL Server Compact.
  4. Запустите 4-install-application.cmd для установки приложения.
  5. Запустите 5-clear-credentials.cmd и удалите пароль подключения "setup".

На шаге 1 можно также создать базу данных SQL Server Compact в визуальном режиме, если необходимо.

Вместо удаления пароля в строке подключения на шаге 5, можно зашифровать строку:
выберите опцию "Только пользователь" в программе gConnectionManager.

Пример также можно установить вручную, используя файл application-install.sql.

Изменение параметров подключения в рабочей книге Microsoft Excel

В папке примеров содержатся предварительно настроенные рабочие книги Microsoft Excel для конечных пользователей и разработчиков приложений.

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

По умолчанию, все книги используют базу данных SQL Server Compact в текущем каталоге и без пароля.

Для изменения параметров подключения следует:

  1. Активировать вкладку SaveToDB и запустить "Мастер изменения строк подключения".
  2. Ввести новые параметры сервера и базы данных и нажать кнопку "Далее".
  3. Отметить все таблицы и нажать кнопку "Готово".

Далее следует обновить данные всех таблиц рабочей книги Microsoft Excel.

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

Удаление примеров приложений SQL Server Compact

Для удаления откройте папку "source code" соответствующего примера и выполните следующие командные файлы:

  1. Запустите 1-edit-config.cmd и настройте строку подключения "setup".
  2. Запустите application-remove.cmd.
  3. Запустите 5-clear-credentials.cmd и удалите пароль подключения "setup".

Вместо удаления пароля в строке подключения на шаге 3, можно зашифровать строку:
выберите опцию "Только пользователь" в программе gConnectionManager.

Пример также можно удалить вручную, используя файл application-remove.sql.

Утилита командной строки gsqlcmd

Командные файлы установки и удаления примеров используют утилиту командной строки gsqlcmd,
которая позволяет выполнять SQL код и экспортировать данные на всех поддерживаемых платформах баз данных.

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

В составе SaveToDB SDK утилита находится в подкаталоге gsqlcmd и доступна из только подкаталогов SaveToDB SDK.

История изменений

Версия 7.2 от 20.03.2017

[*] Обновлен SaveToDB Framework 7.2.

Версия 7.0 от 17.01.2017

[*] Обновлены даты на 2017 год.
[*] Обновлены SaveToDB Framework 7.0, командные файлы и файлы readme.txt.

Системные требования

Поддерживаемые версии SaveToDB:

  • SaveToDB 5.x и выше

Поддерживаемые версии SaveToDB Framework for Microsoft SQL Server Compact:

  • SaveToDB Framework 5.0 for Microsoft SQL Server Compact и выше

Поддерживаемые версии Microsoft SQL Server Compact:

  • Microsoft SQL Server Compact 4.0