상황에 따라 최악의 경우는 Firebird가 설치되어있어 하나의 연결이 설치된 서버 인스턴스에 연결되어 있고 다른 하나는 내장 된 서버 인스턴스에 연결됩니다. 그것은 하나의 물리적 드라이버 객체를 가지기에 충분하지만, 더 많은 것을 가지는 데 문제가 없습니다.
그래서, 그 경우에는 실제적인 의미가 없다 (형태 나 고유 이름 데이터 모듈 및 설치의 DriverID 속성 하나 TFDPhysFBDriverLink (즉 어떤 드라이버 기본 드라이버 ID로서 사용되지 않는다)를 삭제하고 Embedded로 표시 이 때 VendorLib을 지정할 때 드라이버를 식별 할 수 있지만 FireDAC은이 속성을 사용하여 기본 라이브러리를로드할지 여부를 결정합니다.
그리고 하나의 연결을 위해 사용자가 정의한 DriverID를 사용하고 다른 하나 개는 사용 대체 자사 BaseDriverID (I 생략 한이 작업에 대한 불필요한 설정)을 사용하여 파이어 버드 드라이버 설정을 기본 :
FDPhysFBDriverLink1.DriverID := 'FBEmbedded'; { ← ID not used by any BaseDriverID }
FDPhysFBDriverLink1.Embedded := True; { ← not mandatory when VendorLib is specified }
FDPhysFBDriverLink1.VendorLib := 'C:\fbembed.dll'; { ← client library file name }
FDConnection1.Params.DriverID := 'FB'; { ← driver's BaseDriverID }
FDConnection1.Open; { ← this will connect to the installed server }
FDConnection2.Params.DriverID := 'FBEmbedded'; { ← driver's DriverID }
FDConnection2.Open; { ← this will connect to the embedded server }
하지만를 두 개의 별도 드라이버 객체 (기본 드라이버와 같은 기본 설정이있는)와 임베디드 서버를위한 하나의 설치된 서버를 선호합니다. 예 :
FDPhysFBDriverLink1.DriverID := 'FBEmbedded'; { ← ID not used by any BaseDriverID }
FDPhysFBDriverLink1.Embedded := True; { ← not mandatory when VendorLib is specified }
FDPhysFBDriverLink1.VendorLib := 'C:\fbembed.dll'; { ← client library file name }
FDPhysFBDriverLink2.DriverID := 'FBInstalled'; { ← ID not used by any BaseDriverID }
FDConnection1.Params.DriverID := 'FBEmbedded'; { ← driver 1 DriverID }
FDConnection1.Open; { ← this will connect to the embedded server }
FDConnection2.Params.DriverID := 'FBInstalled'; { ← driver 2 DriverID }
FDConnection2.Open; { ← this will connect to the installed server }
Embedded 속성의 기능은 무엇입니까? 어떤 문서도 찾을 수 없습니다. (* Embarcadero Technologies는 현재 어떤 추가 정보도 가지고 있지 않습니다 *) –
'VendorLib'가 설정되지 않은 경우'fbclient.dll' 대신'fbembed.dll' 라이브러리 만로드됩니다. 이 경우에는'VendorLib'을 지정하기 때문에 쓸모가 없지만 앞으로 추가 할 수 있도록 사용했습니다 (그리고 드라이버를 식별하는 데 사용할 수 있습니다). – Victoria
좋아,이 작품, 고마워. 두 개의 다른 TFDPhysFBDriverLinks를 사용하고 있습니다. 필자가 지적한 한가지 : 나는 DriverName과 DriverID를 할당해서는 안된다. –