Q&A

  • BDE의 경로를 바꾸려면...
프로그램에서 암호에 따라 경로를 바꾸고 싶습니다...
db는 paradox를 사용하고 bde에서 알리아스를 잡고 구성했습니다...
그런데 프로그램을 다 구성해놓고 보니 정작 경로변경에 대해서는
생각하지 못했네요...
그래서 처음 들어갈때 암호에 따라 경로를 변경하고 싶은 가능한지요...
혹 불가능하다면 어떤게 최선의 방법인지 알고 싶습니다...
고수님들의 답변을 기다리고 있겠습니다...
3  COMMENTS
  • Profile
    Crazy 2004.02.07 03:37
    도움말의 경로나 기타 다른것에 변경에 관한 글이 있네요.
    이걸 사용하시면 될듯 싶네요..

    he following example changes a parameter of a session
  • Profile
    Crazy 2004.02.07 02:48
    이건 BDE에 알리아스를 생성시켜 주는 부분입니다.
    BDE 사용후 필요없어서 삭제하실려면

    Session.DeleteAlias( 'BDE_IMAGE' );

    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);
      
       try
          Temp_Database.LoginPrompt  := False;
          Temp_Database.Params.Clear;
          Temp_Database.DatabaseName := 'DB_IMAGE';
          Temp_Database.AliasName    := 'BDE_IMAGE';
          Temp_Database.Connected    := True;
        except
        end;

    그담 쿼리에다가 데이타베이스를 연결하면 되겠죠...


  • Profile
    Crazy 2004.02.07 02:29
    안녕하세요
    Query1.DatabaseName := '절대경로';

    ex) c:\aaa\ 폴더일경우..
    Query1.DatabaseName := 'c:\aaa\';
    위의 DatabaseName 은 DatabaseName컴퍼넌트명이 아니라
    파라독스 데이타베이스 파일이 있는 경로입니다.

    참고로
    데이타베이스의 보안이나 업무에 아주 중요한게 아니라면 보통
    실행되는 어플리케이션 하위폴더를 만들어서 DB를 보관한다면
    알리아스를 잡거나 데이타베이스 컴퍼넌트를 사용할 필요가 없습니다.
    즉 쿼리와 데이타소스 컴퍼넌트만 있으면 되는거죠..
    DB 자체에 패스워드까지 걸면 보안문제는 어느정도 해결이 되는거구요..
    실행폴더를 변경하든 위치를 바꿔도 하위폴더에 DB만 존재한다면
    상관이 없는거죠..
    그럼..