본문 바로가기
인턴

classic ASP - DB 연결 (공통모듈 만들어 사용하기)

by 당도-50% 2024. 11. 13.

Classic ASP에서는 각 페이지에서 데이터베이스(DB)에 접근할 때마다 매번 DB 연결을 새로 열고, 작업이 끝나면 연결을 닫는 방식으로 처리해야 합니다. Classic ASP에는 ASP.NET 같은 연결 관리 기능이나 연결 풀링(connection pooling)이 자동화되어 있지 않기 때문에, 연결 관리를 개발자가 수동으로 해야 하는 불편함이 있습니다.

일반적으로, Classic ASP 프로젝트에서 반복적인 DB 연결을 효율적으로 관리하기 위해 아래와 같은 방법을 사용합니다.

 

1. 공통 DB 연결 모듈 작성

  • 데이터베이스 연결 및 해제 로직을 공통 파일(예: db_connection.asp)로 만들어서 필요할 때마다 #include 지시문을 통해 가져옵니다.
  • 이 방식으로 코드를 재사용하고, 유지보수가 쉬워집니다.
' db_connection.asp
<% 
    Dim conn, connectionString
    Set conn = Server.CreateObject("ADODB.Connection")
    connectionString = "Provider=SQLOLEDB;Data Source=서버주소;Initial Catalog=DB이름;User ID=사용자;Password=비밀번호;"
    conn.Open connectionString
%>

 

db_connection.asp 사용 예 :

<!--#include file="db_connection.asp"-->
<% 
    ' DB 연결된 상태로 쿼리 실행
    Dim rs, sql
    sql = "SELECT * FROM 테이블명"
    
    Set rs = conn.Execute(sql)

    ' 작업 후 연결 종료
    rs.Close
    Set rs = Nothing
    conn.Close
    Set conn = Nothing
%>

 

2. DB 연결 해제 및 자원 정리

  • 각 페이지별로 DB 작업이 끝난 후, 반드시 연결을 Close하고 객체를 Set Nothing으로 해제하여 서버 자원을 효율적으로 관리해야 합니다.
  • 이 작업을 자동화하기 위해 db_close.asp 같은 파일을 만들어 사용할 수도 있습니다.
' db_close.asp

<% 
    If Not conn Is Nothing Then
        conn.Close
        Set conn = Nothing
    End If
%>

 

3. 연결 풀링 (Connection Pooling) 활용

  • Classic ASP에서는 기본적으로 연결 풀링이 지원되지만, 연결 문자열에서 OLE DB Provider를 설정할 때 일부 설정을 맞춰줘야 합니다.
  • 이를 통해 서버는 새 연결을 생성하는 대신 기존 연결을 재활용하여 성능을 개선합니다.

 

요약

Classic ASP에서는 각 페이지별로 DB 연결을 설정하고 해제해야 하지만, 이를 반복적으로 수동 설정하지 않기 위해 공통 파일을 사용하는 방식이 일반적입니다. 또한, 기본 연결 풀링을 활용해 연결 관리 부담을 줄일 수 있습니다.