Web

ASP를 활용한 MSSQL DB 접속하기

CodeSlave 2021. 4. 21. 17:49

저는 C++ Windows Desktop Application 개발자로 일하고 있으나

회사 사정으로 웹페이지 개발도 겸업하고 있습니다.

ASP와 관련된 정보들을 찾기가 어려워 노가다로 알게된 정보들을 공유해볼까 합니다.

 

어느 페이지에서나 접근하여 활용할 수 있도록 서술하오니 참고바랍니다.

 

 

 

- config.asp 라는 이름으로 아래와 같이 작성해줍니다.

<%
strDataBase = "DB명"  'ex)TEST_DB
strId = "DB접속 아이디"  'ex)sa
strPw = "비밀번호"  'ex)1234
strDataSource = "접속주소"  'ex)localhost
strConnect = "Provider=SQLOLEDB.1;Password="+strPw+";Persist Security Info=True;User ID="+strId+";Initial Catalog="+strDataBase+";Data Source=" + strDataSource
SET db = Server.CreateObject("ADODB.Connection")
db.Erros.Clear
db.open strConnect
%>

 

- test.asp 라는 임의의 파일을 하나 만들어 아래와 같이 작성해줍니다.

<!-- #include virtual="/config.asp" -->
<%
sql = "SELECT ID, PW FROM USER_INFO"

SET rs = db.execute(sql) 'config.asp에서 생성된 연결을 이용합니다.

%>
<span>테스트 결과 : <%=rs("ID")%></span>
<%
rs.close
SET rs = Nothing
%>

 

출력 결과입니다.

 

위와 같이 작성할 경우 config.asp를 참조하여 어느 페이지에서나 사용할 수 있습니다.

rs는 RecordSet을 의미하며 DB에서 조회된 데이터를 보관하는 곳입니다.

<%=rs("컬럼명")%>으로 해당 컬럼의 데이터를 가져올 수 있습니다.

 

조금 더 응용 해보겠습니다.

<!-- #include virtual="/config.asp" -->
<%
sql = "SELECT ID, PW FROM USER_INFO"

SET rs = db.execute(sql) 'config.asp에서 생성된 연결을 이용합니다.
rs.MoveFirst
If Not(rs.bof or rs.eof) Then
  Do Until rs.eof
%>

<span>테스트 결과 : <%=rs("ID")%></span></br>

<%
  rs.MoveNext    
  Loop
Else
%>

<span>조회된 결과가 없습니다.</span>

<%
End If
rs.close
SET rs = Nothing
%>

 

위처럼 활용하게 될 경우 rs의 데이터 마지막까지 반복하며 ID컬럼의 데이터를 출력합니다.

GET이나 POST를 활용하여 외부 페이지에서 호출 시 쿼리문에 조건문을 달아

조건 검색을 할 수도 있겠죠?

출력 결과입니다.

 

업무 상 가려져야 되는 정보들을 가리긴 했지만

기본적으로 이러한 작업들이 이루어져야 알림을 표시하거나

웹페이지에서 게시물을 표시하는 등 작업이 가능합니다.

활용 예시입니다.