안녕하세요
Firebird embedded 버전 64bit 를 사용하려 합니다.
그런데 "unavailable database" 에러가 발생하여 이것저것 찾아보았지만 에러는 계속 동일하게 발생하여서 문의 드립니다.
Firebird : Firebird-2.5.2.26540-0_x64_embed 사용
C++ Builder XE4 64bit Application 에서 사용 예정
파일 구성
intl\fbintl.conf -> 혹시 몰라 추가 (32bit 에서는 사용 안 함)
intl\fbintl.dll -> 혹시 몰라 추가 (32bit 에서는 사용 안 함)
udf\fbudf.dll -> 혹시 몰라 추가 (32bit 에서는 사용 안 함)
firebird.conf -> 수정 안 함
firebird.msg
gds32.dll -> fbembed.dll 파일 이름 변경
ib_util.dll
icudt30.dll
icuin30.dll
icuuc30.dll
Microsoft.VC80.CRT.manifest
msvcp80.dll
msvcr80.dll
ABC.FDB -> DB 파일
Project1.exe -> 실행 파일 (64bit)
DB 접속 코드
m_ibDB = new TIBDatabase( NULL );
m_ibDB->SQLDialect = 3;
m_ibDB->DatabaseName = L"D:\\Test\\ABC.FDB";
m_ibDB->Params->Clear();
m_ibDB->Params->Add( L"User_Name=user" );
m_ibDB->Params->Add( L"Password=pwd" );
m_ibDB->Params->Add( L"lc_ctype=UNICODE_FSS" );
m_ibDB->LoginPrompt = false;
m_ibDB->Open(); -> 에러 발생
위 구성으로 32bit는 정상 동작합니다. (intl, udf 사용 안 함)
그런데 64bit에서는 DB 접근 시 "unavailable database" 에러가 발생합니다.
Firebird 64bit embedded 마지막 버전인 2.5.6.27020-0 를 사용하여도 동일하며,
해당 구성으로 다른 컴퓨터에서 실행 시 "ibclient64.dll" 파일이 없다고 하여 "ibclient64.dll" 파일을 찾아 임의로 추가해주어도 반응이 동일합니다.
혹시 이와 같은 에러를 해결하는 방법이 있을지 궁금합니다.
|