다음을 통해 공유


드라이버 아키텍처

드라이버 아키텍처는 SQL 문을 처리하는 소프트웨어에 따라 두 가지 범주로 분류됩니다.

  • 파일 기반 드라이버 드라이버는 물리적 데이터에 직접 액세스합니다. 이 경우 드라이버는 드라이버 및 데이터 원본의 역할을 합니다. 즉, ODBC 호출 및 SQL 문을 처리합니다. 예를 들어 dBASE는 드라이버에서 사용할 수 있는 독립 실행형 데이터베이스 엔진을 제공하지 않으므로 dBASE 드라이버는 파일 기반 드라이버입니다. 파일 기반 드라이버의 개발자는 자체 데이터베이스 엔진을 작성해야 합니다.

  • DBMS 기반 드라이버 드라이버는 별도의 데이터베이스 엔진을 통해 물리적 데이터에 액세스합니다. 이 경우 드라이버는 ODBC 호출만 처리합니다. 처리를 위해 데이터베이스 엔진에 SQL 문을 전달합니다. 예를 들어 Oracle 드라이버는 DBMS 기반 드라이버입니다. Oracle에는 드라이버에서 사용하는 독립 실행형 데이터베이스 엔진이 있기 때문입니다. 데이터베이스 엔진이 상주하는 위치는 비물질입니다. 드라이버와 동일한 컴퓨터 또는 네트워크의 다른 컴퓨터에 상주할 수 있습니다. 게이트웨이를 통해 액세스할 수도 있습니다.

드라이버 아키텍처는 일반적으로 드라이버 작성기에만 흥미롭습니다. 즉, 드라이버 아키텍처는 일반적으로 애플리케이션에 차이가 없습니다. 그러나 아키텍처는 애플리케이션이 DBMS 관련 SQL을 사용할 수 있는지 여부에 영향을 줄 수 있습니다. 예를 들어 Microsoft Access는 독립 실행형 데이터베이스 엔진을 제공합니다. Microsoft Access 드라이버가 DBMS 기반인 경우 이 엔진을 통해 데이터에 액세스합니다. 애플리케이션은 처리를 위해 엔진에 Microsoft Access-SQL 문을 전달할 수 있습니다.

그러나 드라이버가 파일 기반인 경우( 즉, Microsoft Access .mdb 파일에 직접 액세스하는 독점 엔진이 포함되어 있음) Microsoft Access 관련 SQL 문을 엔진에 전달하려고 하면 구문 오류가 발생할 수 있습니다. 그 이유는 독점 엔진이 ODBC SQL만 구현할 가능성이 있기 때문입니다.

이 섹션에서는 다음 항목을 다룹니다.