ISecurityPackageLogonData.LogonEvent

Синтаксис

LogonEvent: IMetabaseLogonEvents;

Описание

Свойство LogonEvent определяет использование событий при подключении к базе данных.

Пример

Для выполнения примера в настройках описания репозитория должен быть установлен драйвер Oracle 9.x\10.x\11.x.

Class MyMetabaseLogonEvents: MetabaseLogonEvents

Public Sub OnLogonUserMustChangePassword(Connection: IDalConnectionExt; Var Result: Boolean);

Begin

Result := True;

Connection.ChangeExpiredPassword("12345");

End Sub OnLogonUserMustChangePassword;

End Class MyMetabaseLogonEvents;

 

Sub Connect;

Var

Mb: IMetabase;

MbManager: IMetabaseManager;

MbDef: IMetabaseDefinition;

Package: ISecurityPackage;

Credentials: IPasswordCredentials;

spld: ISecurityPackageLogonData;

mle: IMetabaseLogonEvents;

Begin

Try

Mb := Null;

MbManager := MetabaseManagerFactory.Active;

MbDef := MbManager.Definitions.FindById("PPRepository");

Package := MbManager.Packs.FindById(MbDef.SecurityPackage).Package;

Credentials := Package.CreateCredentials(AuthenticationMode.Password) As IPasswordCredentials;

Credentials.UserName := "User102";

Credentials.Password := "123";

mle := New MyMetabaseLogonEvents.Create;

spld := MbDef.LogonData;

spld.LogonEvent := mle;

mb := MbDef.Open(Credentials);

Except On E: Exception Do

Debug.WriteLine("Ошибка при открытии метабазы");

Debug.WriteLine("Текст ошибки: " + E.Message);

Raise New Exception.Create(E.Message);

End Try;

End Sub Connect;

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

См. также:

ISecurityPackageLogonData