IMetabaseLink.Credentials

Синтаксис

Credentials: ICredentials;

Credentials: Prognoz.Platform.Interop.Metabase.ICredentials;

Описание

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

Комментарии

Данное свойство:

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

Пример

Для выполнения примера предполагается наличие сервера «Test» , схемы «TestShema» и учетные данные пользователя User1 с паролем «password».

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    Link: IMetabaseLink;
Begin
    MB := MetabaseClass.Active;
    CrInfo := MB.CreateCreateInfo;
    CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_METABASELINK;
    CrInfo.Id := "Link_1";
    CrInfo.Name := "Связь с репозиторием Test1";
    CrInfo.Parent := MB.Root;
    Link := MB.CreateObject(CrInfo).Edit As IMetabaseLink;
    Link.Authentication := AuthenticationMode.Password;
    Link.DriverId := "ORCL8";
    Link.SecurityPackage := "STANDARDSECURITYPACKAGE";
    Link.LogonData.ParamValue("SERVER") := "Test";
    Link.LogonData.ParamValue("SCHEME") := "TestShema";
    Debug.WriteLine(Link.LoginPrompt);
    Link.LoginPrompt := False;
    Link.Credentials.SlotValue("USERNAME") := "User1";
    Link.Credentials.SlotValue("PASSWORD") := "password";
    (Link As IMetabaseObject).Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;

Public
 Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    Link: IMetabaseLink;
Begin
    MB := Params.Metabase;
    CrInfo := MB.CreateCreateInfo();
    CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_METABASELINK 
As Integer;
    CrInfo.Id := 
"Link_1";
    CrInfo.Name := 
"Связь с репозиторием Test1";
    CrInfo.Parent := MB.Root;
    Link := MB.CreateObject(CrInfo).Edit() 
As IMetabaseLink;
    Link.Authentication := AuthenticationMode.amPassword;
    Link.DriverId := 
"ORCL8";
    Link.SecurityPackage := 
"STANDARDSECURITYPACKAGE";
    Link.LogonData.ParamValue[
"SERVER"] := "Test";
    Link.LogonData.ParamValue[
"SCHEME"] := "TestShema";
    System.Diagnostics.Debug.WriteLine(Link.LoginPrompt);
    Link.LoginPrompt := 
False;
    Link.Credentials.SlotValue[
"USERNAME"] := "User1";
    Link.Credentials.SlotValue[
"PASSWORD"] := "password";
    (Link 
As IMetabaseObject).Save();
End Sub;

После выполнения примера в корневом каталоге репозитория будет создан новый объект «Связь с репозиторием». Данный объект будет осуществлять связь с репозиторием, расположенным на сервере «Test» в схеме «TestShema». При подключении будет использоваться парольная аутентификация, тип СУБД, установленный на сервере - Oracle 9.x или выше. При использовании данной связи будет осуществляться автоматическое подключение с указанными учетными данными.

См. также:

IMetabaseLink