본문 바로가기
개발이야기/asp

asp OLEDB를 이용해 MSSQL 연결하기

by 시다파파 2017. 2. 3.
반응형

asp를 프로그래밍 하면서 DB와의 연동 작업은 거의 필수입니다.

asp에서 MSSQL연동하는 방법은 여러가지가 있지만 저는 두가지 정도 써본것 같네요

 

초창기 asp프로그래밍에서는 ODBC를 이용해 MSSQL과 커넥션을 했지만

지금은 거의 대부분이 OLEDB를 이용해서 MSSQL과 커넥션을 합니다.

 

제가 지식이 얕아서 심도 있는 설명을 할 수 없지만 그냥 제가 사용하는 구문으로

간단하게 설명을 드려봅니다.

 

뭐 이걸 가져다가 쓰셔도 아무런 지장은 없을 것입니다.

 

그럼 예문을 보시겠습니다.

<%

   Set Conn = Server.CreateObject("ADODB.Connection") 
   Conn.Open "Provider=SQLOLEDB;User ID=계정아이디;Password=계정비번;Initial Catalog=데이터베이스명;Data Source=db서버아이피"

%>

 

딱 두줄입니다. 첫번째 구문은 디비연결 인스턴스를 생성하고 두번째 줄은 그 인스턴스의 메소드를 이용해서

디비에 연결하는 구문입니다.

 

두번째 줄에서 provider은 SQLOLEDB로 데이터베이스에 접근하겠다 이런 뜻입니다.

USER ID : mssql접근 계정의 아이이디

Password : mssql접근 계정의 비밀번호

Initial Catalog : mssql 데이터베이스 이름

Data Source = mssql서버가 설치된 아이피 입니다. 웹서버와 DB서버가 분리된 경우는 아이피를 적어주시면 되고

혹시 웹서버와 DB서버가 하나의 서버에서 운영되어지면 아이피를 적어줘도 되지만 localhost라고 해도 동일하게 사용할 수 있습니다.

 

이제 연결 구문을 알아보았으니 어떻게 사용하는지 살펴보고 마무리 하겠습니다.

 

<%

Set Rs = Server.CreateObject("Adodb.RecordSet")

SQL = "Select * from member"

Rs.open SQL, conn

%>

 

위 구문을 보면 Rs라는 인스턴스를 생성합니다. Rs는 레코드셋 인스턴스입니다.

두번째 구문은 아주 간단하죠..mssql 쿼리문을 SQL변수에 넣습니다.

 

가장 중요한 마지막 세번째 줄입니다.

해석 해보면 conn으로 mssql에 연결하고 SQL구문을 실행한 다음 결과값을 Rs(레코드셋)에 담았습니다.

 

Rs에 담겨진 값을 사용하려면 Rs("테이블컬럼명")으로 DB에 저장된 값을 가져올 수 있습니다.

 

예를 들어 name이라는 컬럼이 있다고 가정해보면

 

<%

Rs_name = Rs("name")

Response.write Rs_name

%>

 

이런 형태로 접근해서 값을 가져올 수 있습니다.

 

그럼 asp에서 oledb를 이용해 msssql 연결하는 방법에 대한 설명을 마치겠습니다.

 

반응형