Active Server Pages에서 SQL Server에 액세스하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 169377 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR169377
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 ODBC 3.0의 연결 풀링 기능을 이용하면서 ADO(ActiveX Data Objects)로 ASP 스크립트에서 SQL Server 연결을 설정하는 방법을 설명합니다.



추가 정보

연결 풀링

ODBC 연결 풀링을 설정합니다.
연결 풀링에 대한 자세한 내용과 이 기능을 설정하는 방법은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
164221 INFO: ODBC 응용 프로그램에서 연결 풀링을 설정하는 방법

ODBC DSN

ODBC 관리자를 사용하여 Microsoft Internet Information Server(IIS)가 설치된 컴퓨터에 시스템 DSN(데이터 원본 이름)을 만듭니다. 연결 특성을 한 번만 지정하고 모든 페이지에서 이를 다시 사용합니다. 예를 들어, Global.asa 파일의 Session_OnStart 이벤트에서 다음과 같이 연결 특성을 정의합니다.
   Session("ConnectionString") =
   "dsn=SQLSysDSN;uid=<username>;pwd=<strong password>;DATABASE=pubs;APP=ASP Script"				
다음 조건이 모두 충족되는지 확인합니다.
  • 시스템 DSN 정의에서 트러스트된 연결 상자가 선택되어 있지 않습니다.
  • SQL Server 보안 모드가 Windows NT의 통합 보안 모드가 아닙니다.
  • 연결 특성에서 UID가 비어 있지 않습니다.
조건이 하나라도 충족되지 않으면 SQL Server 연결이 실패하고 다음 오류 메시지가 나타납니다.

Microsoft OLE DB provider for ODBC Drivers 오류 '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server]로그온하지 못함- 사용자: _
이유: 트러스트된 SQL Server 연결에서 유효한 사용자로 정의되지 않았습니다.

Global.asa

Global.asa 파일의 사용은 선택 사항입니다. 대개 이 파일에 입력하는 내용은 응용 프로그램에서 호출하는 첫 페이지에 놓이게 됩니다. ASP 스크립트가 인터넷 서비스 관리자에서 가상 디렉터리로 정의되지 않은 폴더 내에 또 다른 가상 디렉터리 아래에 있을 경우 세션 변수와 DSN 정의를 포함하는 Global.asa 파일은 가상 디렉터리에 보관되어야 합니다. 그렇지 않으면 다음과 유사한 내용의 오류 메시지가 나타납니다.

Microsoft OLE DB Provider for ODBC Drivers 오류 '80004005'
[Microsoft][ODBC Driver Manager] 데이터 원본 이름이 없고 기본 드라이버를
지정하지 않았습니다.

ASP 스크립트에서의 연결

모든 Active Server Page에서 데이터베이스 연결을 열고 닫을 때 연결 풀링을 이용합니다. 연결을 열려면 페이지의 <Body> 섹션에 다음 명령문을 입력합니다.
   <%
   Set OBJdbConn = Server.CreateObject("ADODB.Connection") 
   OBJdbConnection.Open Session("ConnectionString")   %>				
연결을 닫으려면 </Body> 태그 바로 뒤에 다음 구문을 넣습니다.
   <%
   OBJdbConnection.Close
   Set OBJdbConnection = Nothing
   %>				
이 문서 앞부분에서 설명한 대로 연결 설정을 제대로 정의하지 않으면 다음 두 오류 메시지가 나타날 수 있습니다.

Microsoft OLE DB Provider for ODBC Drivers 오류 '80004005'
[Microsoft][ODBC SQL Server Driver][DBNMPNTW]연결이 끊어졌습니다.
또는

Microsoft OLE DB Provider for ODBC Drivers 오류 '80004005'
[Microsoft][ODBC SQL Server Driver]통신 연결 오류입니다.

다음은 Global.asa 파일과 Authors.asp 파일로 구성된 예제 응용 프로그램입니다. 이 예제 응용 프로그램은 authors라는 pubs 테이블에 있는 네 개의 열과 모든 레코드를 반환합니다.

참고 이 코드를 실행하기 전에 UID <username>과 pwd =<strong password>를 올바른 값으로 변경해야 합니다. UID에 이 데이터베이스 작업을 수행할 수 있는 적절한 사용 권한이 있는지 확인합니다.

Global.asa
   <SCRIPT LANGUAGE=VBScript RUNAT=Server>
   Sub Session_OnStart
   Session("ConnectionString") =
   "DSN=SQLSysDSN;UID=<username>;PWD=<strong password>;DATABASE=pubs;APP=ASP script"
      Session("ConnectionTimeout") = 15
      Session("CommandTimeout") = 30
   End Sub

   Sub Session_OnEnd

   End Sub
   </SCRIPT>				
Authors.asp
   <HTML>
   <HEAD>
   <TITLE>All Authors</TITLE>
   </HEAD>
   <BODY BGCOLOR="#FFFFFF">

   <% Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
   OBJdbConnection.ConnectionTimeout = Session("ConnectionTimeout")
   OBJdbConnection.CommandTimeout = Session("CommandTimeout")
   OBJdbConnection.Open Session("ConnectionString")
   Set SQLStmt = Server.CreateObject("ADODB.Command")
   Set RS = Server.CreateObject ("ADODB.Recordset")
   %>

   <p>
   <table border="0" bordercolor="#000000">
   <%
   SQLStmt.CommandText = "select * from authors"
   SQLStmt.CommandType = 1
   Set SQLStmt.ActiveConnection = OBJdbConnection
   RS.Open SQLStmt

   Do While Not RS.EOF
   %>
   <TR>
      <TD Width = 150 ALIGN=LEFT>
         <FONT SIZE=+1>
         <%= RS("au_id") %>
         </FONT></TD>
      <TD></TD>
         <TD Width = 150 ALIGN=LEFT>
         <FONT SIZE=+1>
         <%= RS("au_lname")  %>
         </FONT></TD>
      <TD Width = 150 ALIGN=LEFT>
         <FONT SIZE=+1>
         <%= RS("au_fname")  %>
         </FONT></TD>
      <TD Width = 150 ALIGN=LEFT>
         <FONT SIZE=+1>
         <%= RS("phone")  %>
         </FONT></TD>
   </TR>
   <%
   RS.MoveNext
   Loop
   %>
   </table>
   <hr>
   <p>
   </BODY>
   <% OBJdbConnection.Close
   Set OBJdbConnection = Nothing
   %>
   </HTML>				
Active Server Pages에 대한 자세한 내용은 IIS 서버의 ASP 설치 프로그램에서 제공하는 설명서를 참조하십시오.

참조

여기에서 원하는 정보를 찾을 수 없으면 다음 Microsoft SQL Server 뉴스 그룹을 방문하십시오.
Microsoft SQL Server 뉴스 그룹(영문)
이 문서나 다른 Microsoft SQL Server 기술 자료 문서에 대한 의견이 있으면 169377로 보내주시기 바랍니다.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 169377 - 마지막 검토: 2011년 5월 14일 토요일 - 수정: 11.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 4.21a Standard Edition
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Services 5.0
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
키워드:?
kbsqlmanagementtools kbenv kbhowto kbinterop kbtshoot KB169377

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com