実行時にBDEを介してInterbaseDBに接続しようとしています。私はこれをフォームレスプロジェクトで実行しようとしています(コンソールアプリではありません)。エイリアスは既知です。レジストリからエイリアスを取得します。例: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からすべての接続情報を取得して接続する方法はありますか?クライアントが将来変更する場合に備えて、ユーザー名とパスワードをハードコーディングしたくありません。