Notice
Recent Posts
Recent Comments
관리 메뉴

안까먹을라고 쓰는 블로그

[MSSQL] ODBC, oleDB, ADO 본문

DataBase/MS SQL

[MSSQL] ODBC, oleDB, ADO

YawnsDuzin 2013. 4. 26. 17:57

 

반응형

ODBC(Open Database Connectivity)

 - 예전의 데이터베이스는 폐쇄적으로 각 데이터베이스에서 제공하는 클라이언트가 없으면 데이터베이스 서버로

접근이 불가능했다. 이러한 문제점을 보완하기 위해서 MS에서 ODBC라는 기술을 개발했다. ODBC는 모든 DBMS

접근이 가능하다. 여기서 더 발전된 기술이 OLEDB이다.

OLEDB

 - ODBC하여 모든 데이터베이스에 접근이 가능한 반면, OLEDB기술은 MS에서 UDA(Universal Data Access)

개념을 채택 광범위한 데이터에 접근 할 수 있다. UDA는 실제 사용되는 기술이 아니라 개념일 뿐이다.

  ADO oleDB를 이용하여 광범위한 데이터를 처리하는 기술을 UDA라고 한다. 

ADO

 - ODBColeDB는 데이터베이스를 연결하는 기술인 반면, ADO는 연결된 통로를 통해서 데이터를 직접 가공하는 데이터를 핸들링 할 수 있는 기술이다. (데이터를 처리하는 기술을 담당한다.)

※ ODBC는 이기종의 데이터베이스(거의 모든 관계형 데이터베이스)에 접근을 가능하게 해주는 표준적인 방법인

반면에 oleDB는 이기종의 데이터베이스 뿐만 아니라, 비 관계형 데이터에도 접근이 가능, SQL서버나, Oacle,

DB@뿐만 아니라 메일, 메일폴더, 텍스트, 디렉토리, 웹사이트 등 비 관계형 계층구조적인 데이터들에게도 접근을

가능하게 한다. 

- ADO : 데이터를 다루는 객체 (데이터를 처리하는 기술)

  - ODBC, oleDB : 데이터 제공자 (원본데이터를 사용할 수 있게 연결해주는 기술)

 

ODBC보다 oleDB가 좋은이유

1. ODBC는 파일을 만들고, 제어판에 들어가서 DSN설정을 잡아줘야 한다.

반면, oleDB는 소스부분에 oleDB 연결 스트링만 추가해주면 된다.

2. ODBC로 개발한 소스는 다른 서버로 옮기면 바로 작동하지 않는다. 옮긴 서버의 DSN설정을 잡아줘야 한다.

반면, oleDB의 경우는 아무런 조건없이 그대로 작동한다. (MDB의 경우 폴더 위치만 같으면 된다.)

3. oleDB를 웹호스팅 환경에서 사용하는 경우, 서버의 관리자가 DNS Setting를 해중어야 한다.

반면, oleDB는 관리자의 도움없이 사용가능하다.

(ASP에는 Win2000NT기반 서비스이며, DSN Setting을 하려면 터미널서비스를 열거나 로컬로긴을 해야한다.

일반적으로 NT계열은 보안문제로 일반 유저에게 이러한 권한을 주지 않기 때문에 ODBC설정을 하려면

관리자의 도움이 필요하다.)

 

[출처] http://www.taeyo.pe.kr/lecture/9_Board2001/Board2001_02.htm 

 

[추가자료] http://blog.naver.com/odonghyun?Redirect=Log&logNo=60006933016

               http://alltstory.tistory.com/33

                http://newtype.pe.kr/3

 

[ DB종류별 Connect String] http://blog.naver.com/kisatsg?Redirect=Log&logNo=20027843975

 

  

쿼리성능관련

1. 쿼리튜닝은 기본

2. 일반쿼리(Dynamic SQL)보다는 바인딩 된 인수로 접근하는 Static SQL이 더 성능이 좋다.

3. 많이 실행된다면 Prepared속성으로 실행하는 것이 좋다.

4. 그 보다는 Stored Procedure로 만들어서 실행하는 것이 좋다.

5. Stored Procedure를 바인딩 된 인수로 접근하는 것이 더 좋다.

      6. Stored Procedure RPC로 실행하여 컴파일을 막는 것이 제일 좋다.



반응형
Comments