var
MyAliasPath: string;
const
AliasName = 'MyAlias';
{**** Получаем из BDE путь MyAlias}
ParamsList := TStringList.Create;
try
with Session do
begin
Session.GetAliasNames(ParamsList);
Session.GetAliasParams(AliasName, ParamsList);
MyAliasPath := Copy(ParamsList[0], 6, 50) + '\';
end;
finally
ParamsList.Free;
end;
|
Как через конфигурацию IDAPI получить физический каталог
расположения базы данных, зная ее псевдоним?
Обратите внимание на метод GetAliasParams класса TSession.
Возвращенная строка будет содержать искомый путь.
Я пользуюсь следующей функцией:
uses DbiProcs, DBiTypes;
function GetDataBaseDir(const Alias: string): string;
(* Возвращает каталог расположения базы данных по заданному псевдониму
(без обратного слеша) *)
var
sp: PChar;
Res: pDBDesc;
begin
try
New(Res);
sp := StrAlloc(length(Alias) + 1);
StrPCopy(sp, Alias);
if DbiGetDatabaseDesc(sp, Res) = 0 then
Result := StrPas(Res^.szPhyName)
else
Result := '';
finally
StrDispose(sp);
Dispose(Res);
end;
end;
|
|