IRepositoryScriptManager.Operation

Синтаксис

Operation: RepositoryOperationType;

Operation: Prognoz.Platform.Interop.KeFore.RepositoryOperationType;

Описание

Свойство Operation определяет операцию, которую необходимо произвести над репозиторием.

Комментарии

Операция будет применена для репозитория, указанного в свойстве Repository, после вызова метода Execute.

Пример

Для выполнения примера предполагается наличие сервера ORCL с наименованием «Test». На сервере в рамках схемы «TestSchema» создан репозиторий платформы. В корневом каталоге диска «С» имеются файлы «current.rm4» и  «current_rds.rm4», содержащий скрипт для создания и обновления репозитория и репозитория НСИ.

Sub UserProc;
Var
    Rsm: IRepositoryScriptManager;
    Driv: IDalDriver;
    ConDesc: IDalConnectionDescriptor;
    Params: IDalConnectionDescriptorParams;
    Con: IDalConnection;
Begin
    
//Подключение к схеме на сервере Oracle
    Driv := New DalOrcl8Driver.Create As IDalDriver;
    ConDesc := Driv.CreateDescriptor;
    Params := ConDesc.Params;
    Params.Find(
"User Name").Value := "TestSchema";
    Params.Find(
"Password").Value := "TestSchema";
    Params.Find(
"Host BSTR").Value := "Test";
    Params.Find(
"Schema").Value := "TestSchema";
    Con := ConDesc.CreateConnection;
    
//Настройки менеджера репозитория
    Rsm := New RepositoryScriptManager.Create;
    Rsm.Connection := Con;
    Rsm.Driver := RepositoryDriverType.ORCL9;
    Rsm.Operation := RepositoryOperationType.Update;
    
//Обновление репозитория
    Rsm.Repository := RepositoryType.Metabase;
    Rsm.LoadScript(
New FileStream.Create("c:\current.rm4", FileOpenMode.Read, FileShare.Exclusive));
    Rsm.Execute(
Null);
    
//Обновление репозитория НСИ
    Rsm.Repository := RepositoryType.RDS;
    Rsm.LoadScript(
New FileStream.Create("c:\current_rds.rm4", FileOpenMode.Read, FileShare.Exclusive));
    Rsm.Execute(
Null);
End Sub UserProc;

Imports System.IO;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.KeFore;

Public Shared Sub Main(Params: StartParams);
Var
    Rsm: IRepositoryScriptManager = 
New RepositoryScriptManagerClass();
    Driv: IDalDriver = 
New DalOrcl8DriverClass();
    ConDesc: IDalConnectionDescriptor;
    DalParams: IDalConnectionDescriptorParams;
    Con: IDalConnection;
Begin
    
//Подключение к схеме на сервере Oracle
    ConDesc := Driv.CreateDescriptor();
    DalParams := ConDesc.Params;
    DalParams.Find(
"User Name").Value := "TestSchema";
    DalParams.Find(
"Password").Value := "TestSchema";
    DalParams.Find(
"Host BSTR").Value := "Test";
    DalParams.Find(
"Schema").Value := "TestSchema";
    Con := ConDesc.CreateConnection();
    
//Настройки менеджера репозитория
    Rsm.Connection := Con;
    Rsm.Driver := RepositoryDriverType.repwelknodritypORCL9;
    Rsm.Operation := RepositoryOperationType.repopetypUpdate;
    
//Обновление репозитория
    Rsm.Repository := RepositoryType.reptypMetabase;
    Rsm.LoadScript(
New FileStream("c:\current.rm4", FileMode.Open, FileAccess.Read));
    Rsm.Execute(
Null);
    
//Обновление репозитория НСИ
    Rsm.Repository := RepositoryType.reptypRDS;
    Rsm.LoadScript(
New FileStream("c:\current_rds.rm4", FileMode.Open, FileAccess.Read));
    Rsm.Execute(
Null);
End Sub;

После выполнения примера будет осуществлено обновление версии репозитория и репозитория НСИ в соответствии с содержимым файлов «current.rm4» и «current_rds.rm4».

См. также:

IRepositoryScriptManager