2011-03-30 5 views
1

이 쿼리의 배경은 this question입니다.어떻게 데이터베이스 드라이버를 IDE에 설치합니까? 파트 II

Firebird에 this driver을 설치하고 IDE에서 사용하는 경로 (system32)에 배치했습니다. XE Data Explorer는 드라이버를 인식하므로 데이터 탐색기를 사용하여 연결을 만들 수 있습니다. 이 연결을 통해 테이블이나 다른 데이터베이스 요소를 보려고하면 this question에 설명 된 오류가 발생합니다. 멀리서 볼 수 있듯이 @Alejandro Jourdan은이 문제에 대한 해결책을 얻지 못했고 Firebird 또는 Delphi XE의 지원 사이트에서는 해결책을 찾을 수 없습니다.

이 연결을 사용하여 TSQLConnection을 만들면 두 번째 문제가 발생합니다. 연결이 데이터베이스에 대한 로그인 프롬프트를 생성하는 정도까지 작동하지만 연결을 열려고하면 'file is not valid database'라는 오류 메시지가 나타납니다.이 오류 메시지는 다음 오류를 제공하는 데이터 탐색기 :

[데이터베이스 경로] 파일의 "CreateFile (열기)"작업 중 I/O 오류가 발생했습니다. 액세스가 거부되었습니다 ..

데이터베이스가 유효하며 Firebird 명령 줄 유틸리티 및 데이터베이스베이스에서 열 수 있습니다.

환경 : 또한 설치된

Machine: Lenovo Thinkpad W510 
OS: Windows 7 Ultimate 64bit 
Delphi: Embarcadero® RAD Studio XE Professional Version 15.0.3953.35171 
Database: W1-V2.5.0.26074 Firebird 2.5 (64 bit) 

:

Embarcado Borland® Developer Studio 2006 Enterprise Version 10.0.2288.42451 Update 2 (XP Version) 
Borland Delphi Version 7 (XP Version) 

편집 :

아래 내 자신의 답변을 참조하십시오. 이 편집은 질문의 핵심과 그 안에 포함 된 링크를 유지하면서 그 대답에 비추어 불필요한 것으로 입증 된 광범위한 세부 사항을 제거했습니다.

+0

프로그래밍 관련 질문으로는 너무 구체적인 문제 해결 질문입니다. 포럼은 stackoverflow가 아니라 올바른 위치입니다. –

+0

이것은 delphi-xe 태그가 붙어 있습니다.하지만 Delphi 2006에 관해서는 언급하고 있습니다. XE에는 dbExpress 파이어 버드 드라이버가 기본 제공됩니다. – jachguate

+0

@jachguate - Delphi 2006은 Delphi의 추가 버전 중 하나라고 언급했습니다. XE는 Enterprise/Architect 버전의 Firebird 용 dbExpress 드라이버 만 제공합니다. –

답변

0

내가 (파트 I에서)했다 기본적인 질문을했다 :

I want to install a Firebird database driver, and to have it available within the Delphi XE IDE. I want the database driver to be usable on the same basis as other, supplied database drivers (eg Interbase, SQL - from within the Data Explorer in the IDE). I have obtained an appropriate driver.

상당한 조사 후 나는 내가하려고했던 델파이 IDE에 통합을 달성 할 수없는 것을 발견했다 이루다. 데이터 탐색기가 .NET 응용 프로그램이고 사용 가능한 DBExpress 드라이버 (herehere)가 .NET과 호환되지 않기 때문입니다. 필자는 IDE에서나 개발중인 응용 프로그램에서 프로그래밍하여 매개 변수를 적절히 설정하여 드라이버를 사용할 수 있음을 알고 있습니다.

다른 사람들이이 특정한 막 다른 골목을 피할 수 있도록 돕기 위해이 답안을 작성했습니다. 또한이 답변에 비추어 불필요한 많은 세부 사항을 제거하기 위해 2 부 질문을 편집 중입니다.

3

가장 먼저 떠오르는 것은 Firebird의 64 비트 버전을 사용하고 있으며 32 비트 및 64 비트 드라이버가 모두 포함되어 있다고 언급했습니다. DLL 이름이 같은가요? 그렇다면 IDE/OS가 32 비트 응용 프로그램에서 DLL의 64 비트 버전을로드하려고합니다. 32 비트 응용 프로그램은 64 비트 드라이버를로드 할 수 없으며 그 반대). DLL을 이름이 같은 경우, 일시적으로 64 비트 버전의 이름을 변경하고, IDE를 다시 시작

  • 첫째 :

    는 두 가지 중 하나를 시도하십시오. 그런 다음 다시 시도하십시오.

  • 64 비트 OS를 실행 중이더라도 Firebird의 32 비트 버전을 설치해보십시오.

+0

드라이버가 32 비트 및 64 비트 형식이 아닙니다. 두 가지 형식의 구성 요소는 fbclient.dll입니다. 유망한 리드는 죽었다. –

관련 문제