Информация о псевдонимах BDE


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;