Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

이 사이트 검색

검색 태그: 'bde'.

  • 태그로 검색

    태그 사이를 쉼표(,)로 구분하세요.
  • 작성자로 검색

콘텐츠 유형


게시판

  • 엠바카데로 (Embarcadero) 개발도구: 델파이 (Delphi), C++빌더 (C++Builder), RAD 스튜디오 (RAD Studio)
    • [기술 Q&A 게시판] 델파이, C++빌더, RAD 스튜디오
    • [설치/등록 Q&A 게시판] 델파이, C++빌더, RAD 스튜디오
    • [기술 기고 게시판] 델파이, C++빌더, RAD 스튜디오
    • [포트폴리오 게시판] 내가 참여한 프로젝트/프로그램 소개
    • [구인 게시판] 개발자 채용/프로젝트 의뢰
  • 엠바카데로 (Embarcadero) DBMS: 인터베이스 (InterBase)
    • [기술 Q&A 게시판] 인터베이스
    • [설치/등록 Q&A 게시판] 인터베이스
    • [기술 기고 게시판] 인터베이스
  • 비주얼 스튜디오 (Visual Studio) 관련 도구
    • [기술 Q&A 게시판] 비주얼 어시스트
    • [설치/등록 Q&A 게시판] 비주얼 어시스트
    • [기술 기고 게시판] 비주얼 어시스트
  • 구록 (Gurock) 테스트도구: 테스트레일 (TestRail)
    • [기술 Q&A 게시판] 테스트레일
    • [설치/등록 Q&A 게시판] 테스트레일
    • [기술 기고 게시판] 테스트레일
  • 아이데라 (Idera) 데이터 도구: 아쿠아 데이터 스튜디오 (Aqua Data Studio), ER/Studio 등
    • ER스튜디오 (ER/Studio)
    • 아쿠아 데이터 스튜디오 (Aqua Data Studio)
  • API레이어 (Apilayer) 개발 도구: API레이어 (Apilayer)
    • [Q&A 게시판] API레이어 (Apilayer)
  • 엠바카데로 (Embarcadero) 라이선스 서버: ELC (Enterprise License Center)
    • [게시판] ELC (Enterprise License Center) 라이선스 서버
  • 이 사이트 이용 관련
    • [게시판] 이 사이트 관련 이용 팁과 Q&A

Categories

  • 이달의 기술자료: 엠바카데로
  • 비디오 세미나
    • UX Summit
    • DelphiCon
    • CodeRage
    • 데브기어 세미나
    • Skill Sprint
  • 기술백서(PDF)

Categories

  • 시작하기
  • 설치/등록/라이선스
  • 튜토리얼
  • 도서

Categories

  • RAD 스튜디오 역사관
  • 11 알렉산드리아
  • 10.4 시드니
  • 10.3 리오
  • 10.2 도쿄
  • 10.1 베를린
  • 10.0 시애틀
  • XE8~XE
  • 2010~6.0

...에서 결과 찾기

검색어 일치 조건


최초 작성일

  • Start

    End


최종 변경일

  • Start

    End


개수로 필터링...

가입

  • Start

    End


Group


자주 쓰는 도구

  1. Docwiki에 있는 "BDE Application Migration (FireDAC)"를 번역한 글 (번역일: 2022년 3월 1일) 위로 가기: BDE 애플리케이션을 FireDAC으로 이전하는 방법 이 예제는 엠바카데로의 고전적인 데모 애플리케이션인 MastApp을 FireDAC과 인터베이스(InterBase) DBMS로 마이그레이션하는 과정을 단계별로 설명한다. 주의: [따라하기] reFind 도구를 이용해 BDE 프로젝트를 FireDAC으로 마이그레이션 따라하기를 보고 따라하기를 권합니다. 지금부터 설명하는 작업과 절차가 크게보면 같지만, 위 링크에 있는 설명이 보다 자세합니다. 목차 1단계 2단계 3단계 4단계 5단계 6단계 7단계 8단계 1단계 윈도우 탐색기를 열고 C:\Users\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\BDE2FDMigration\Demo 폴더로 이동한다. 이 폴더에는 MastApp 애플리케이션 소스 코드가 들어있다. 이 폴더 안에 FireDAC_MastApp라는 이름으로 새 하위 폴더를 하나 만들고 나서, 기존의 MastApp 소스 코드 파일들을 모두 복사하여 새로 만든 폴더 안에 붙여 넣는다 (이유: 원본 소스를 그대로 두어 안전하게 보존하고, 새로 만든 하위 폴더 안에서만 모든 작업을 하기 위함) 2단계 명령창을 열고(윈도우 키 + R > cmd 입력 > 엔터 키), 새로 만든 하위 폴더 위치인 FireDAC_MastApp로 이동한다. RAD 스튜디어 안에 있는 도구인 reFind를 실행하여 BDE 용어를 그에 상응하는 FireDAC 용어로 바꾼다. 명령창에서 아래와 같이 하면 된다. C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\reFind.exe *.pas *.dfm /X:C:\Users\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\BDE2FDMigration\FireDAC_Migrate_BDE.txt 3단계 FireDAC Explorer를 사용하여 FireDAC의 연결 정의(connection definition)를 새로 하나 만든다. 그리고 연결 정의 파라미터(들)을 설정한다. 가장 간단한 MastApp용 연결 정의는 아래와 같다. [MASTSQL] DriverID=IB Protocol=TCPIP Server=127.0.0.1 DataBase=C:\MastApp.GDB User_Name=sysdba SQLDialect=3 CharacterSet=UTF8 ExtendedMetadata=True 주의: 위에 있는 파라미터 중 DataBase에는 C:\MastApp.GDB가 명시되어 있다. 이 글은 인터베이스 데이터 파일인 MastApp.GDB가 그 경로에 이미 있으며, 이 데이터베이스에는 이미 파라독스인 DBDEMOS 데이터베이스에 있던 데이터가 옮겨져 있음을 전제로 한다. 파라독스의 데이터를 인터베이스로 옮길 때는 Clever Components InterBase DataPump를 사용할 수 있다. (역자 주: [따라하기] reFind 도구를 이용해 BDE 프로젝트를 FireDAC으로 마이그레이션 따라하기를 참고하세요) 4단계 DBMS에 맞는 FireDAC 드라이버를 당신의 애플리케이션에 추가할 차례이다. 프로젝트 파일을 열고 FireDAC.Phys.[DBMS 드라이버 ID] 유닛을 추가한다. 예를 들어, 이 예제에서는 인터베이스(InterBase) 데이터베이스에 연결하므로 FireDAC.Phys.IB 유닛을 프로젝트에 추가한다. 그리고 FireDAC.VCLUI.Wait 유닛도 프로젝트에 추가한다. program Mastapp; uses Forms, FireDAC.Phys.IB, FireDAC.VCLUI.Wait, MAIN in 'MAIN.PAS' {MainForm}, // … 5단계 데이터 모듈인 DataMod.dfm 파일을 열고, 이 폼 파일(.dfm)의 코드를 연다 (폼 파일 코드를 여는 법: DataMod.dfm 폼 화면의 빈 공간에서 마우스 오른쪽 클릭 > 컨텍스트 메뉴에서 View as Text 클릭하거나, 또는 단축키 Alt+F12 사용). 폼 파일 코드에서 TFDConnection 를 찾아서 ConnectionDefName에 해당 인터베이스 연결 정의의 이름 즉 "MASTSQL"을 지정하고, user name과 password도 알맞게 지정한다. 결과는 다음과 같다. Params.Strings = ( 'ConnectionDef=MASTSQL' 'User_Name=sysdba' 'Password=masterkey') 6단계 인터베이스의 SQLLink와 FireDAC의 인터베이스 드라이버의 데이터 타입 맵핑은 서로 다르다. 따라서 FireDAC 타입 맵핑을 통해 BDE와 호환될 수 있도록 해야 한다. 그렇지 않으면, 관련된 필드(들)을 모두 새로 만들어야 하기 때문이다. 데이터 맵핑을 설정하려면, TFDConnection.FormatOptions.MapRules 프로퍼티에 알맞은 컬렉션을 채워 넣어야 한다. DataMod.DFM의 폼 파일을 열고 아래와 같이 추가한다. object Database: TFDConnection // … FormatOptions.OwnMapRules = True FormatOptions.MapRules = < item PrecMax = 10 PrecMin = 0 ScaleMax = 0 ScaleMin = 0 SourceDataType = dtFmtBCD TargetDataType = dtInt32 end item SourceDataType = dtFmtBCD TargetDataType = dtDouble end item SourceDataType = dtDateTimeStamp TargetDataType = dtDateTime end> // … end 추가로, FormatOptions.StrsTrim 프로퍼티를 False로 지정한다. BDE의 기본값과 이 프로퍼티의 값을 맞추기 위해서이다. 7단계 FireDAC은 파라독스 또는 DBase 같은데스크탑 DB를 지원하지 않는다. 따라서 데스크탑 DB (Paradox, Dbase)와 관련된 모든 코드를 애플리케이션에서 제거해야 한다. (DataMod.pas 파일에서) TMastData.UseLocalData 메소드 제거 Main.pas 파일에서)TMainForm.ViewLocalClick 메소드 제거 8단계 이제 애플리케이션 소스 코드를 인터베이스에 맞게 조정해야 한다. Main.pas 파일에 있는 TMainForm.ViewRemoteClick 메소드 안에 있는 ' (Local Interbase)'를 ' (InterBase)'로 바꾼다. Main.pas 파일에 있는 TMainForm.ViewMenuClick 핸들러를 제거한다. DataMod.pas 파일에 있는 TMastData.DataDirectory 메소드를 제거한다 DB 연결 정의(connection definition)가 없는 경우에 애플리케이션이 실행 중에 연결 정의를 만들 수 있도록 한다. 그러기 위해 TMastData.UseRemoteData 메소드를 아래와 같이 변경한다. procedure TMastData.UseRemoteData; var Params: TStringList; begin { ConnectionDef가 있는지 촥인한다. 없으면, 추가한다 } if not FDManager.IsConnectionDef('MASTSQL') then begin Params := TStringList.create; try Params.Values['Protocol'] := 'TCPIP'; Params.Values['Server'] := '127.0.0.1'; Params.Values['DataBase'] := 'C:\MastApp.GDB'; // 실제로 MastApp.GDB (인터베이스 데이터 파일)이 있는 전체 경로 Params.Values['User_Name'] := 'sysdba'; Params.Values['SQLDialect'] := '3'; Params.Values['CharacterSet'] := 'UTF8'; Params.Values['ExtendedMetadata'] := 'True'; FDManager.AddConnectionDef('MASTSQL', 'IB', Params); finally Params.Free; end; end; SetDatabaseAlias('MASTSQL'); //역자주: 원문에는 MastApp.SetDatabaseConnectionDef('MASTSQL');로 잘못 기재되어 있어서 정정함 end; 이제, 애플리케이션에서 사용하는 SQL command 들을 조정해야 한다. DataMod.pas 파일 안에 있는 CustByLastInvQuery 쿼리에서 내림차순 정렬 키워드로 DESCENDING를 사용했었다. 하지만, 인터베이스에서는 이 키워드는 DESC이다.
  2. 이 글의 목적: RAD 스튜디오에서 제공하는 데이터베이스 계층의 성능 비교 자료를 모아서 요약한다. 델파이에 들어있는 데이터베이스 연결 프레임워크 (영문 아티클) 4 가지 프레임워크 (BDE, dbGO(ADO), dbExpress, FireDAC)를 설명하고 성능을 비교한 좋은 글 특히, 영문이지만 성능 비교 그래프가 있어서 쉽게 파악할 수 있음 원문 링크: Database connectivity frameworks in Delphi FireDAC을 설명한 4분 남짓한 한국어 비디오 1분 41초 부터 FireDAC과 dbExpress의 성능을 비교한 데모가 있음 요약 2000건의 데이터 입력 TFDQuery : 3,396 ms TQuery : 5,447 ms TFDQuery(ArrayDML) : 60 ms 메모리 테이블에 100,000건의 데이터 입력 TClientDataSet : 7,326 ms TFDMemTable : 3,293 ms
×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.