프로그램에서 암호에 따라 경로를 바꾸고 싶습니다...
db는 paradox를 사용하고 bde에서 알리아스를 잡고 구성했습니다...
그런데 프로그램을 다 구성해놓고 보니 정작 경로변경에 대해서는
생각하지 못했네요...
그래서 처음 들어갈때 암호에 따라 경로를 변경하고 싶은 가능한지요...
혹 불가능하다면 어떤게 최선의 방법인지 알고 싶습니다...
고수님들의 답변을 기다리고 있겠습니다...
var
//BDE Engine Create
MyList: TStringList;
i : Integer;
bAppend : Boolean;
begin
MyList := TStringList.Create;
bAppend := True;
try
Session.GetAliasNames(MyList);
{ fill a list box with alias names for the user to select from }
for i := 0 to MyList.Count - 1 do
begin
if Trim( MyList[i] ) = 'BDE_IMAGE' then
begin
bAppend := False;
Break;
end;
end;
finally
MyList.Free;
end;
if bAppend then
begin
MyList := TStringList.Create;
try
Session.AddAlias( 'BDE_IMAGE', 'ORACLE', MyList );
finally
MyList.Free;
end;
end;
end;
//======================== 동적 database Create ==================//
var
i: integer;
Temp_Database : TDatabase;
begin
Temp_Database := TDatabase.Create(nil);
ex) c:\aaa\ 폴더일경우..
Query1.DatabaseName := 'c:\aaa\';
위의 DatabaseName 은 DatabaseName컴퍼넌트명이 아니라
파라독스 데이타베이스 파일이 있는 경로입니다.
참고로
데이타베이스의 보안이나 업무에 아주 중요한게 아니라면 보통
실행되는 어플리케이션 하위폴더를 만들어서 DB를 보관한다면
알리아스를 잡거나 데이타베이스 컴퍼넌트를 사용할 필요가 없습니다.
즉 쿼리와 데이타소스 컴퍼넌트만 있으면 되는거죠..
DB 자체에 패스워드까지 걸면 보안문제는 어느정도 해결이 되는거구요..
실행폴더를 변경하든 위치를 바꿔도 하위폴더에 DB만 존재한다면
상관이 없는거죠..
그럼..
이걸 사용하시면 될듯 싶네요..
he following example changes a parameter of a session