Q&A

  • [re] [자답]델파이2007, 델파이2009 두개의 버전이 한 PC에 있을 때 DBExpress 문제
문제는 델파이2007과 델파이2009 버전이 dbExpress 설정 파일을 공유하여 쓰는 것이 문제였습니다.
즉, dbExpress는 dbxconnextions.ini, dbxdrivers.ini 두개의 설정 파일을 사용하는데
2009를 인스톨하면 기존 두개의 파일(2007버전에서 사용하던)을 .backup으로 바꾸고 2009용으로 새로운 파일을 만듭니다.
bpl, dll 파일은 서로 다른이름의 파일을 사용하여 문제가 없는데 설정 파일을 공유하기 때문에
문제가 발생한 것이었습니다.

제가 해결한 방법을 잠시 설명드리겠습니다.
1) dbxconnextions.backup, dbxdrivers..backup 파일 2개를 dbxconnextions_2007.ini, dbxdrivers_2007.ini 이름을 변경합니다.
2) 레지스트리를 실행합니다.
3) [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\5.0\DBExpress] 폴더로 이동합니다.
     3-1) Connection Registry File 의 값을 "디렉토리 경로\dbxconnections_2007.ini"로 변경합니다.
     3-2) Driver Registry File 의 값을 "디렉토리 경로\dbxdrivers_2007.ini"로 변경합니다.
4) [HKEY_CURRENT_USER\Software\Borland\BDS\5.0\DBExpress] 폴더로 이동합니다.
     4-1) Connection Registry File 의 값을 "디렉토리 경로\dbxconnections_2007.ini"로 변경합니다.
     4-2) Driver Registry File 의 값을 "디렉토리 경로\dbxdrivers_2007.ini"로 변경합니다.
    ※ 위의 3)과 동일합니다.

이상과 같이 변경하면 2007은 2007 그대로 (WideStringField Type 아님) 2009는 2009 그래로 사용할 수 있습니다.

참고로 dbExpress 폴더를 2007용 2009용으로 분리하고자 시도해보았는데 이는 실패했습니다.

>항상 많은 도움 받고 있습니다.
>
>다른게 아니라 델파이2007로 개발한 프로젝트가 있는데 DBExpress에 TClientDataSet을 이용하였습니다.
>문제는 2007로 개발 프로그램이 조회시 TStringField Type으로 Field Editor에 추가되어 있는 경우
>데이터셋을 오픈하면 TWideStringField Type이 아니라고 에러가 발생합니다.
>델파이2009 버전이 설치되기 전에는 잘 실행되던게 위와 같은 문제로 데이터 조회가 되지 않습니다.
>
>업무상 2007버전의 프로그램은 2007버전으로 관리가 되어야 하고 신규 프로젝트는 2009로
>개발하려고 하는데 이전 버전들과는 다르게 동시에 설치가 불가능한 것인지 궁금합니다.
>
>참고로 델파이7버전으로 개발한 프로그램은 정상적으로 작동합니다.
>델파이7버전도 DBExpress에 TClientDataSet을 이용하였습니다.
>
>두서없는 글 끝까지 읽어주셔서 감사합니다.  
>
0  COMMENTS