Рассмотрим несколько примеров создания базы данных для подключения к репозиториям на базе разных СУБД. Для выполнения примеров добавьте ссылки на системные сборки: Db, Metabase.
Рассмотрим пример создания базы данных в репозитории, созданном на сервере Oracle.
Sub UserProc;
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
DB: IDatabase;
Package: ISecurityPackage;
OracleSPLD: IPrimaryOracleSPLD;
PswCreds: IPasswordCredentials;
Begin
MB := MetabaseClass.Active;
// Создание базы данных
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_DATABASE;
CrInfo.Id := "NewORCLDB";
CrInfo.Name := "Новая база данных";
CrInfo.Parent := MB.Root;
DB := MB.CreateObject(CrInfo).Edit As IDatabase;
// Задание настроек подключения к СУБД
DB.Authentication := AuthenticationMode.Password;
DB.DriverId := "ORCL8";
OracleSPLD := DB.LogonData As IPrimaryOracleSPLD;
OracleSPLD.Server := "TestServer";
OracleSPLD.Scheme := "TestRepository";
// Учётные данные
Package := New StandardSecurityPackage.Create;
PswCreds := Package.CreateCredentials(AuthenticationMode.Password) As IPasswordCredentials;
PswCreds.UserName := "User";
PswCreds.Password := "Password";
DB.LoginPrompt := False;
DB.Credentials := PswCreds;
// Сохранение изменений
(DB As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера в корневом каталоге репозитория будет создана новая база данных. Данная база данных будет настроена на подключение к репозиторию «TestRepository». Репозиторий расположен на сервере Oracle с наименованием «TestServer». Будет использоваться автоматическое подключение со следующими учётными данными: имя пользователя - User; пароль - Password.
Рассмотрим пример создания базы данных в репозитории, созданном на сервере Microsoft SQL.
Sub UserProc;
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
DB: IDatabase;
Package: ISecurityPackage;
MSSPLD: IPrimaryMsSqlSPLD;
PswCreds: IPasswordCredentials;
Begin
MB := MetabaseClass.Active;
// Создание базы данных
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_DATABASE;
CrInfo.Id := "NewMSSQLDB";
CrInfo.Name := "Новая база данных";
CrInfo.Parent := MB.Root;
DB := MB.CreateObject(CrInfo).Edit As IDatabase;
// Задание настроек подключения к СУБД
DB.Authentication := AuthenticationMode.Password;
DB.DriverId := "MSSQL2012";
DB.Unicode := True;
MSSPLD := DB.LogonData As IPrimaryMsSqlSPLD;
MSSPLD.Server := "TestServer";
MSSPLD.Database := "TestRepository";
// Учётные данные
Package := New StandardSecurityPackage.Create;
PswCreds := Package.CreateCredentials(AuthenticationMode.Password) As IPasswordCredentials;
PswCreds.UserName := "User";
PswCreds.Password := "Password";
DB.LoginPrompt := False;
DB.Credentials := PswCreds;
// Сохранение изменений
(DB As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера в корневом каталоге репозитория будет создана новая база данных. Данная база данных будет настроена на подключение к репозиторию «TestRepository». Репозиторий расположен на сервере Microsoft SQL Server с наименованием «TestServer». Будет использоваться автоматическое подключение со следующими учётными данными: имя пользователя - User; пароль - Password.
См. также: