=======================
=======================
=======================
출처:
http://blog.naver.com/ddowner?Redirect=Log&logNo=140048679108
ADO(ActiveX Data Object) 는 데이터베이스, 기타 데이터 정보에 접근할 수 있는 개체로써 데이터베이스에 접근하려면 OLEDB나 ODBC를 사용하여야 한다. 즉 사용하기 쉽고 확장 가능한 기술로 웹상에서 데이터베이스를 조작할 수 있는 기능을 제공한다.
OLEDB란 표준 COM 인터페이스를 제공하는 시스템 수준의 프로그래밍 인터페이스로서 데이터베이스 관리 시스템 기능을
말한다. ODBC(Open Database Connectivity)는 데이터베이스에 접속 할 수 있도록 프로그램과 db간에 의사소통을 해준다.
ODBC는 DB와의 연결이란 Driver란 의미를 부여할 수 있고 OLEDB는 데이터를 제공하는 주체 Provider란 의미로 표현하고
있다.
DataBase 연결-OLEDB
Provider=SQLOLEDB; Data Source=컴퓨터이름이나 ip 주소 또는 dns이름; Initial Catalog="db명" ;
UID="서버사용자ID" ; PWD="비밀번호";
예) Set con = Server.CreateObject("ADODB.Connection") '--- db 연결
connString="provider=sqloledb; Data Source=211.241.18.21; Initial Catalog=testasp; uid=sa; PWD=;"
con.Open connString
DataBase 연결-ODBC
ODBC를 연결하는 방법에는 두가지가 있다.
첫번째(관리도구 설정없이) : DSN=“ODBC로 연결한 별명";uid="사용자id" ; pwd="비밀번호"
두번째(관리도구 설정후 그 근거로 작업)
Set con = Server.CreateObject("ADODB.Connection")
connString=“ DSN=testasp ; UID=sa ; PWD=;”
'--testasp는 DB명이 아니라 DB명을 가르키는 이름이다.
con.Open connString
데이터베이스 처리단계
객체를 생성 -> 데이터 원본이름과 연결 -> 쿼리 명령을 수행 -> 그 결과를 받아옴 -> 보여준다.
-> 데이타베이스와 연결을 끊는다. -> 리소스를 해제
<%
Set db = Server.Createobject("Adodb.Connection")
' --- 데이터 원본이름과 연결
db.Open "Provider=sqloledb; uid=sa;pwd=;data source=localhost"
sql = "create database mysampledb "
db.Execute sql
sql = “create table mysampledb ..mytable ( no int not null, name char(20) , age int )"
db.Execute sql
db.Close
Set db=Nothing
%>
ADO 객체
•Connection 객체 : ADODB.Connection
데이타베이스와 연결을 할 수 있게 해주는 객체
•Command 객체 : ADODB.Command
명령을 실행해주는 객체
•Recordset 객체 : ADODB.Recordset
데이터베이스로 연결한뒤 원하는 데이터를 실행하여 얻어온 결과를 담는 객체
•데이터 원본에 연결하기
Set Db = Server.CreateObject("ADODB.Connection")
‘---데이터 원본에 연결한다.
[ ODBC 방법 ]
첫번째 방법. Odbc 에서 Dsn을 이용하여
Db.Open " DSN=db명 ; UID=사용자id ; PWD=비밀번호 "
두번째 방법. 연결문자열을 이용하여
Db.Open " Driver={sql server} ; Server=ip주소; Database=db명 ; uid=사용자id ; pwd=비밀번호"
Open 메쏘드를 통해 해당 데이터베이스와 연결할 수 있다.
ODBC에 설정한 Database Source Name(DSN)과 사용자 아이디(계정), 비밀번호를 입력하면 된다.
[ OLEDB 연결방법 ]
DB.OPEN "Provider=SQLOLEDB ; User ID=sa ; Password= ; initial Catalog=mydb ;
Data Source=localhost"
‘--Execute 메서드의 사용방법으로 두가지가 있다.
‘--레코드 셋을 반환하지 않는 경우와 반환하는 경우이다.
db.Execute "Delete from mydb where no=5"
Set rs = db.Execute ("select * from mydb")
‘ 레코드 셋을 반환하는 경우 ( SELECT문)↑( 레코드셋 객체 : 실행된 SELECT문의 결과값을 저장하고 있는 기억장소 )
※SELECT 문을 실행했을때 출력값(데이터)이 없더라도 레코드셋은 생성된다.
( 테이블을 생성했을때 테이블만 존재하고 내용이 없는경우)
즉, 생성된 레코드셋 안에 데이터가 없는 경우도 있다는 뜻이다. ※
★ 엮인글(BOF,EOF) 꼭 참고할것..
•데이터베이스 닫기
Db.Close
Set Db = Nothing
‘--Set DbCon=Nothing으로 리소스를 해제한다.
=======================
=======================
=======================
'프로그래밍 관련 > DB SQL' 카테고리의 다른 글
SQLite - 파일 용량 관련(관리,줄이기)(auto_vacuum) (0) | 2011.06.21 |
---|---|
SQLLite - c++ 연동하기 관련 (0) | 2011.06.15 |
사내 공통 DB 서버 mssql , ADO 연결시 80004005에러코드 문제점(WIN NT계열아니면 많이 일어남) (0) | 2011.02.09 |
DB 연결 (0) | 2011.01.26 |
계정 삭제시 스키마문제로 안지워질떄 (0) | 2011.01.19 |