DetailPage-MSS-KB

기술 자료

기술 자료: 306125 - 마지막 검토: 2012년 4월 19일 목요일 - 수정: 1.0

 
이 문서는 이전에 다음 ID로 출판되었음: KR306125

이 페이지에서

요약

이 단계별 가이드는 Microsoft SQL Server 포함 된 예제 데이터베이스 Pubs 데이터베이스에서 Microsoft Excel로 데이터를 가져올 방법을 설명 합니다.

ActiveX 데이터 개체 (ADO)는 모든 유형의 데이터 원본에 액세스를 제공 합니다. 그 수가 적은 기본 개체 모델입니다. ADO 개체 모델의 주요 개체는 다음과 같습니다.
   Object          Description
   -----------------------------------------------------------------------
   Connection      Refers to the connection to the data source.
   Recordset       Refers to the data extracted.
   Command         Refers to a stored procedure or SQL statements that 
                   need to be executed.
				
다양 한 방법으로 ADO를 사용 하 여 레코드 집합을 반환할 수 있지만,이 문서에 연결 및 레코드 집합 개체에 설명 합니다.

요구 사항

Microsoft SQL Server 실행 하 여 Pubs 데이터베이스를 포함 하는 로컬 서버에 있어야 합니다.

다음에 대 한 지식이 있어야 좋습니다.
  • Office 프로그램에서 프로시저 만들기 Visual Basic for Applications
  • 개체 변수를 사용 합니다.
  • Excel 개체를 사용 합니다.
  • 관계형 데이터베이스 관리 시스템 (RDBMS) 개념입니다.
  • 구조적 쿼리 언어 (SQL) SELECT 문입니다.

ADO 개체 라이브러리 참조

  1. Excel을 시작 합니다. 새 통합 문서를 열고 Sqlextract.xls로 저장 합니다.
  2. Visual Basic 편집기를 시작 하 고 VBA 프로젝트를 선택 합니다.
  3. 도구 메뉴를 클릭 참조.
  4. 최신 버전을 선택 하려면 클릭 하십시오 있는 Microsoft ActiveX 데이터 개체 라이브러리 확인란입니다.

연결 만들기

  1. 프로젝트에 새 모듈을 삽입 합니다.
  2. DataExtract 라는 새 하위 프로시저를 만듭니다.
  3. 입력 하거나 다음 코드를 붙여넣습니다.
    ' Create a connection object.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection
    
    ' Provide the connection string.
    Dim strConn As String
    
    'Use the SQL Server OLE DB Provider.
    strConn = "PROVIDER=SQLOLEDB;"
    
    'Connect to the Pubs database on the local server.
    strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"
    
    'Use an integrated login.
    strConn = strConn & " INTEGRATED SECURITY=sspi;"
    
    'Now open the connection.
    cnPubs.Open strConn
    					

데이터 추출

입력 하거나 레코드를 추출 하는 다음 코드를 붙여넣습니다.
' Create a recordset object.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset

With rsPubs
	' Assign the Connection object.
	.ActiveConnection = cnPubs
	' Extract the required records.
	.Open "SELECT * FROM Authors"
	' Copy the records into cell A1 on Sheet1.
	Sheet1.Range("A1").CopyFromRecordset rsPubs
	
	' Tidy up
	.Close
End With

cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing
				

코드가 작동 하는지 확인 합니다.

  1. 코드를 실행 합니다.
  2. Excel로 전환 하 고 통합 문서에 데이터를 볼 수에서 sheet1을 확인 합니다.

문제 해결

코드가 멈춘 것 처럼 나타나고 런타임 오류가 나타날 경우 데이터베이스 서버를 수 있습니다. ConnectionTimeout 속성을 런타임 오류를 반환 하는 데 걸리는 시간을 제어할 수 있습니다. 이 속성 값을 0 보다 큰 설정 됩니다. 값을 0으로 설정 하면 연결이 시간 초과 되지. 기본값은 15 초입니다.

참조

다음 Microsoft 웹 사이트를 검색 하 여 추가 샘플 코드를 찾을 수 있습니다.
http://msdn.microsoft.com/ (http://msdn.microsoft.com/)

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
키워드: 
kbhowtomaster kbmt KB306125 KbMtko
기계 번역된 문서기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
이 문서의 영문 버전 보기:306125  (http://support.microsoft.com/kb/306125/en-us/ )
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store