연결 정의(Connection Definition) 특정 FireDAC 드라이버를 사용하여 DBMS 응용 프로그램을 연결하는 방법을 정의하는 매개 변수 집합입니다.

 

BDE 별칭, ADO UDL (저장된 OLEDB 연결 문자열) 또는 ODBC 데이터 원본 이름 (DSN) 동일합니다

 

FireDAC 3 가지 연결 정의 종류를 지원합니다.

 

  •  Persitent   : 고유 이름을 가지며 FDManager 의해 관리되고 연결 정의 파일에 저장됩니다.

     

  •  Private     :  FDManager 의해 관리되지만 연결 정의 파일에는 저장되지 않는 고유 이름을 가집니다.

     

  • Temporary :  이름이 없으며 연결 정의 파일에 저장되지 않고 FDManager에서 관리하지 않습니다. 설계시점에 TFDConnection.Params 속성을 채우는 것입니다.

 

 연결 정의 (Connection Definntion) 이름

 

 지속적 연결(Persistent Connection) 정의는  INI 텍스트 파일 형식인 외부 파일에 저장됩니다 FDExplorer  또는 FDAdministrator 유틸리티를 사용하여 처음, 수동으로 또는 코드별로 편집 있습니다

 

 기본적으로 파일은 C : \ Users \ Public \ Documents \ Embarcadero \ Studio \ FireDAC \ FDConnectionDefs.ini입니다.

 

참고: RAD Studio IDE 실행 중일 FDExplorer 또는 FDAdministrator 사용하여 새로운 영구 연결 정의를 추가하면 FireD AC 디자인 타임 코드에 표시되지 않습니다. 영구 연결 정의 목록을 새로 고치려면 FDManager 다시 활성화하거나

RAD Studio IDE 다시 시작해야 합니다.

 

 

 Persistent Connection 생성

 

uses

 

 FireDAC.Comp.Client, FireDAC.Stan.Def, FireDAC.Stan.Intf,

 

 // Required uses for creating a persistent connection with MSSQL (to fdconnectiondefs.ini)

 

 FireDAC.Phys.MSSQL,

 

 FireDAC.Phys.MSSQLDef;

 

const

 

 cNameConnDef = 'MSSQL_Connection';

 

procedure TForm1.PersistentConnectionClick(Sender: TObject);

 

 var

 

  oDef: IFDStanConnectionDef;

 

  oParams: TFDPhysMSSQLConnectionDefParams; // MSSQL connection params

 

 begin

 

  // Adding new persistent connection to fdconnectiondefs.ini

 

  FDManager.ConnectionDefs.AddConnectionDef;

 

  oDef := FDManager.ConnectionDefs.AddConnectionDef;

 

  oDef.Name := cNameConnDef;

 

  oParams := TFDPhysMSSQLConnectionDefParams(oDef.Params);

 

  oParams.DriverID := 'MSSQL'

 

  oParams.Database := 'Northwind';

 

  oParams.UserName := '.............';

 

  oParams.Password := '.............';

 

  oParams.Server := '127.0.0.1';

 

  oParams.OSAuthent := false;

 

  oParams.MARS := false;

 

  oDef.MarkPersistent;

 

  oDef.Apply;

 

end;

.....................

 

 procedure TForm1.ConnectionClick(Sender: TObject);

 

  FDConnection1.ConnectionDefName := cNameConnDef;

 

  FDConnection1.Connected := True;

 

end;

 

 

 

 Private 컨넥션 정의

 

전용 연결 정의는 코드에서만 만들 있습니다.

 

var

 oParams: TStrings;

begin

  oParams := TStringList.Create;

  oParams.Add('Server=127.0.0.1');

  oParams.Add('Database=Northwind');

  oParams.Add('OSAuthent=Yes');

  FDManager.AddConnectionDef('MSSQL_Connection', 'MSSQL', oParams);

  ....................

  FDConnection1.ConnectionDefName := 'MSSQL_Connection';

  FDConnection1.Connected := True;

 

 

 

임시 커넥션 정의

 

<설계시점>

임시 연결 정의는 FireDAC Connection Editor 사용하여 디자인 타임에 생성 있습니다. TFDConnection 클릭하여 편집기를 호출하십시오.

ttt.png

 

또는 디자인 모드에서 TFDConnection 아이콘을 클릭하고 Object Inspector DriverName 속성에서 드라이버를 선택하십시오. 그런 다음 Params 속성을 확장하고 필요한 속성을 설정합니다. 마지막 단계는 Connected 속성을 True 설정하는 것입니다.

 

 

<런 타임시>

 

코드에서 런타임에 임시 연결을 만들려면 TFDConnection.Params 속성을 웁니다. 이것은 연결 정의를 만드는 가장 간단하고 편리한 방법입니다.

 

 

FDConnection1.DriverName := 'MSSQL';
FDConnection1.Params.Add('Server=127.0.0.1');

FDConnection1.Params.Add('Database=Northwind');

FDConnection1.Params.Add('User_name=sa');

FDConnection1.Connected := True;

 

 

 

런타임에 임시 연결 정의를 만드는 다른 방법은 TFDConnection.Params 속성을 DBMS 특정 클래스로 캐스팅하는 것입니다. IDE 코드 통찰력 컴파일러 구문 검사를 사용하여 정확성을 검사 있으므로 연결 정의를 만드는 가장 안전한 방법입니다.

 

 

uses

  FireDAC.Phys.IBDef, FireDAC.Phys.IBWrapper;

......

    FDConnection1.DriverName := 'IB';

   with FDConnection1.Params as TFDPhysIBConnectionDefParams do begin

  Protocol := ipTCPIP;

  Server := '127.0.0.1';

  Database := 'c:\IB\employee.gdb';

  UserName := 'sysdba';

  Password := 'masterkey';

end;

FDConnection1.Connected := True;

 

 

다른 옵션은 TFDConnection.ConnectionString 속성을 채워 런타임에 연결 문자열을 지정하는 것입니다. 연결 문자열은 특정 유형의 응용 프로그램에 대한 연결 정의 매개 변수를 지정하는 편리한 방법 있습니다.

 

FDConnection1.ConnectionString := 'DriverID=MSSQL;Server=127.0.0.1;Database=Northwind;User_name=sa';

 

FDConnection1.Connected := True;

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15409
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13959
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16495
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22045
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23266
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18920
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39242
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174694
170 [추가된 문법] DLL 정적 호출 시 지연 호출(Delayed)-델파이 2010 추가 김원경 2016.12.27 1096
169 부동소수점 숫자(실수)에 대한 참고 글 [1] 험프리 2016.12.14 1139
168 퀵레포트(Quick Report)에 사진 출력하기 험프리 2016.08.01 1864
167 BLOB 컬럼에 (이미지 등의)데이터 읽고 쓰기 험프리 2016.08.01 6093
166 1차 공개 중고생 강의용 앱 소스 및 메뉴얼입니다. file 쭈니아빠 2016.07.16 762
165 [추가된 문법 정리] - 배열 상수 초기화:델파이 XE7 추가 관리자 2016.06.03 3313
164 [추가된 문법 정리] - 클래스 필드(Class Field):델파이 2007 추가 관리자 2016.06.03 828
163 브레이크 포인트를 설정해도 디버깅이 안되는 경우 살펴볼 항목 file 험프리 2016.05.13 2804
162 OutputDebugString 함수로 디버그로그를 출력할 수 있습니다. file 험프리 2016.02.16 4253
161 [안드로이드] 배포파일, 아이콘, 스플래쉬 등이 잘 배포되었는지 확인하기 file 험프리 2015.11.11 1523
160 [다시보기] RAD Studio 10 시애틀 딥다이브 세션 다시보기(영문) Humphery 2015.10.02 552
159 [마이그레이션] 함수(또는 변수)에 빨간밑줄이 가고 컴파일 시 Undeclared Identifier 오류 시 조치방법 file 험프리 2015.09.30 2361
158 델파이 문서화 도구 참고링크 Humphery 2015.09.11 1160
157 [하이브리드 앱 개발] 웹페이지에서 델파이 함수 호출하기 Humphery 2015.06.26 4073
156 안드로이드 웹브라우저에서 "tel:, sms:" 링크가 동작하지 않는 이슈 해결하기 Humphery 2015.06.26 4827
155 [윈도우10] 델파이로 윈도우10 알림 표시하기(WinRT API 이용) Humphery 2015.06.24 2310
154 파이어닥(FireDAC)으로 IBLite 연결 시 "unavaliable database." 오류 발생에 대한 대응 file Humphery 2015.05.15 768
153 델파이에서 MSOffice 엑셀과 워드 연동 참고자료. [1] Humphery 2015.04.27 3761
152 [델파이7 이후 새로운 기능][XE2~] 프로젝트 매니저에서 타겟플랫폼을 64-bit Windows로 선택 해 64비트 애플리케이션을 개발할 수 있습니다. file Humphery 2015.04.23 4721
151 [델파이7 이후 새로운 기능] 추가되고 개선된 VCL 컴포넌트 Humphery 2015.04.22 3570