Q&A

  • [질문]데이터베이스 프로그래밍 작업에 대해 문의 드립니다.
델파이로 데이터베이스(MDB) 프로그램을 작성 중입니다.

처음에는 ConnetionString을 컨트롤 속성창에 입력하여서 사용하였지만 배포시에는 사용자가

경로를 바꾸는 경우엔 데이터베이스 연결을 하지 못해서 에러를 발생하더군요.

절대 경로로 입력되기에 그런 것인데 상대경로를 입력하니 윈도우 경로에서 찾네요.

이런 문제를 실무 프로그램들께서는 어떻게 해결하시는지 궁금합니다.


실무 개발자분들께서는 이런 경우 어떻게 처리를 하시는지 궁금합니다.

제가 웹만 하다 보니 어플리케이션 개발에는 좀 취약하네요 ㅠ.ㅠ

5  COMMENTS
  • Profile
    최용일 2010.05.18 06:57
    뭘 쓰든 잘만 쓰면 별 상관없구요. 절대 경로가 더 편하긴하죠.
    실행파일을 기준으로 폴더의 패스를 정하시는것이 코딩하긴 편합니다.
    예를 들어 데이터베이스파일을 실행파일이 있는 폴더의 DATA폴더에 넣는다고 하면 아래처럼 패스를 설정하시면 되죠...

    데이터베이스폴더 := ExtractFilePath(Application.ExeName) + 'DATA\' + '데이터베이스파일.확장자';
  • Profile
    바람처럼 2010.05.18 07:48
    답변 감사합니다.

    문제는 최용일님께서 알려주신 대로 작업하기 위해서는 속성창에 입력하지 말고 코드로 입력해야하는데 코드창에
    커넥션스트링을 모두 기재해서 연결 할 경우 데이터그리드 등 각종 작업을 모두 하드코딩해야 해서 작업량이
    많아지는데 그런 부분들은 어떻게 처리하면 될까요.

    폼에 콤퍼넌트를 가져다 놓고 콤퍼넌트의 속성창에 입력을 해서 하면 편하던데 그렇게 하지 말아야 하는 것인지요
  • Profile
    최용일 2010.05.18 08:02
    저렇게 한다고 해서 데이터그리드(?) 등 각종 작업을 하드코딩할 이유가 전혀 없는데요. 왜 하드코딩해야 되는지 이해 불가입니다.
    폼불러올때 ConnectionString만 설정해주면 됩니다.

    편한(?) 방법을 추구하실려면 인스톨 할때 데이터베이스파일은 속성창에서 입력한 폴더를 그대로 유지하도록 설치파일을 만드시면 됩니다.
  • Profile
    바람처럼 2010.05.18 08:13
    친절한 답변 감사합니다.
    일단 다시 한번 해보겠습니다. ^^
  • Profile
    phono 2010.05.19 00:07
    컨넥션 스트링두 귀찬 으시다면.. Application. 메인폼 show시나 생성시에..


    항상 현재 디렉토리를 설정해주는 방법도 있습니다만..

    문제는 파일오픈 다이얼로그 박스나 이런거 쓰고 나면 또 다시 바뀌므로.. 용일님 처럼 하는 방법이 제일 좋습니다.