런타임에 BDE를 통해 Interbase DB에 연결하려고합니다. 나는 formless 프로젝트 (콘솔 앱이 아님)에서 이것을하려고한다. 별칭은 알려져 있습니다. 레지스트리에서 별칭을 검색합니다. 예 : MyAlias.BDE 별칭 만있는 경우 어떻게 Interbase 암호를 얻을 수 있습니까?
//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에서 모든 연결 정보를 가져 와서 연결하는 방법이 있습니까? 나중에 클라이언트가 변경 될 경우에 대비해 사용자 이름과 암호를 하드 코딩하지 않을 것입니다.
고객 인 경우 암호를 변경하더라도 내 데이터베이스에 액세스 할 수 있기를 원하지 않습니다. 따라서 고객의 허가없이 고객의 데이터에 액세스하려고 시도해서는 안됩니다. RRUZ에 따르면 사용자 이름, 암호 등과 관련된 정보는 암호화 된 파일에 저장됩니다. – RBA