[ASP.NET] ADO.NET

ASP.NET에서의 데이터 접근은 ADO.NET(.NET 기반 ActiveX Data Objects) 객체를 통해 이루어진다. ADO.NET을 간단히 정의하면 '.NET 응용 프로그램이 데이터베이스와 상호작용하기 위해 사용하는 기술'이라고 할 수 있다.

 

ASP.NET의 데이터 접근 구조

ASP.NET의 데이터 접근 구조는 크게 웹 응용 프로그램, 데이터 계층, 데이터 공급자, 데이터 소스로 나누어진다.

ASP.NET에서의 데이터 접근 구조

웹 응용 프로그램

ASP.NET의 서버 컨트롤이나 개발자 코드를 통해 데이터 소스에서 전달받은 결과 집합을 표현한다.

 

데이터 계층

데이터 공급자들이 보낸 데이터를 웹 응용 프로그램에 전달하고, 응용 프로그램에서 전달받은 정보를 데이터 공급자들에게 전달하는 계층을 말한다. ADO.NET을 통해 하나의 데이터 계층에서 서로 다른 데이터 소스에 접근하여 데이터를 검색, 조작할 수 있다.

 

데이터 공급자

데이터 소스에 접속하여 명령을 실행하고 데이터를 검색, 조작하는데 사용하는 객체이다.

데이터 공급자 설명
.Net Framework
Data Provider for SQL Server
Microsoft SQL Server 버전 7.0 이상의 데이터 접근을 제공
System.Data.SqlClient 네임스페이스 사용
.NET Framework
Data Provider for OLE DB
OLE DB를 통한 데이터 접근을 제공
System.Data.OleDb 네임스페이스 사용
.NET Framework
Data Provider for ODBC
ODBC를 통한 데이터 접근을 사용
System.Data.Odbc 네임스페이스 사용
.NET Framework
Data Provider for Oracle
Oracle 데이터베이스에 대한 데이터 접근을 사용
System.Data.OracleClient 네임스페이스 사용

ADO.NET은 소규모 핵심 클래스들로 구성된다. 이들 핵심 클래스들은 데이터를 담아 관리하기 위해 사용하는 클래스와 특정 데이터 소스에 연결하기 위해 사용하는 클래스로 나눌 수 있다. 데이터 소스에 연결하기 위해 사용하는 핵심 객체는 아래와 같다.

객체 설명
Connection 특정 데이터 소스에 연결
Command 데이터 소스에 대한 SQL문 실행
DataReader 데이터 소스에서 정방향 데이터 검색(연결 기반)
DataAdapter 웹 서버 메모리에 가상의 데이터베이스(DataSet)를 생성하고 업데이트 내용은 데이터 소스에 적용(비연결 기반)

 

데이터 소스

디스크 파일, 데이터베이스, XML 파일과 같이 저장된 데이터에 접근하여 검색, 조작할 수 있는 것을 말한다. 데이터 소스로 가장 많이 사용되고 있는 것은 데이터베이스이다.

 

ADO.NET의 데이터 접근 방식

ADO.NET을 통해 데이터에 접근하는 방식은 크게 직접(연결 기반) 데이터 접근 방식과 비연결 기반 데이터 접근 방식으로 나눌 수 있다.

 

· 직접 데이터 접근 방식

ADO.NET과 데이터 소스 사이의 연결이 유지되고 있는 동안 데이터 소스에 직접 접근하여 데이터를 검색하거나 조작한다.

· 비연결 기반 데이터 접근 방식

데이터 소스에서 가져온 데이터를 웹 서버의 메모리에 가상의 데이터베이스 형식으로 저장해 두고, 이후 메모리에 있는 데이터베이스를 사용하는 방식으로 데이터 소스 사이에 지속적인 연결 없이도 데이터에 대한 검색이나 조작이 가능하다. 가상의 데이터베이스에 변동이 생길 경우에는 데이터 소스에 연결하여 이를 반영한다.

댓글