我正在尝试通过 BDE 在运行时连接到 Interbase DB。我正在尝试在无形项目(但不是控制台应用程序)中执行此操作。别名是已知的。我从注册表中检索别名。示例:MyAlias。
//create alias params list
AParams:= TStringList.Create;
//create a session to get alias parameters
ASession:= TSession.Create(nil);
ASession.SessionName := 'MainSession';
try
ASession.GetAliasParams(tmpAlias, AParams);
finally
ASession.Free;
end;
//connect to database
dbMain:= TDatabase.Create(nil);
with dbMain do
begin
//AliasName:= 'MyAlias';
DatabaseName:= 'test';
LoginPrompt:= False;
Params.Assign(AParams);
try
Connected:=True;
if Connected then ShowMessage('Connected!') else ShowMessage('Failed to Connect!');
finally
Free;
end; //try
end;//with
//free alias params list
AParams.Free;
无论如何,看起来 Session.GetParams 实际上并没有获得密码。如何获取密码?如果我知道别名,有没有办法从 BDE 获取所有连接信息并建立连接?我宁愿不要硬编码用户名和密码,以防客户将来更改它们。