Импорт данных из Microsoft SQL Server в Microsoft Excel

Переводы статьи Переводы статьи
Код статьи: 306125 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В этом пошаговом руководстве описывается импорт данных в Microsoft Excel в базе данных Pubs, образец базы данных, который входит в состав Microsoft SQL Server.

ActiveX Data Objects (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, в данной статье описываются соединения и объекты набора записей.

Требования

Необходимо иметь локальный сервер, содержащий базу данных Pubs и под управлением Microsoft SQL Server.

Корпорация Майкрософт рекомендует иметь знания в следующих:
  • Создание Visual Basic для приложений процедур в приложениях Microsoft Office.
  • Работа с переменными объектов.
  • Работа с объектами Excel.
  • Основные понятия реляционной системы управления базой данных (СУРБД).
  • Язык SQL инструкции SELECT (SQL).

Ссылка на библиотеку объектов ADO

  1. Запустите Excel. Откройте новую книгу, а затем сохраните его как SQLExtract.xls.
  2. Запустите редактор Visual Basic и выберите проект VBA.
  3. На Сервис меню, нажмите кнопку Ссылки.
  4. Установите последнюю версию Библиотека объектов Microsoft ActiveX данных флажок.

Создание подключения

  1. Вставьте новый модуль в проект.
  2. Создайте новую процедуру Sub, называется 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, подключение никогда не будет времени ожидания. Значение по умолчанию — 15 секунд.

Ссылки

Дополнительные примеры кода можно найти путем поиска веб-узел Майкрософт:
http://MSDN.Microsoft.com/

Свойства

Код статьи: 306125 - Последний отзыв: 19 апреля 2012 г. - Revision: 1.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Ключевые слова: 
kbhowtomaster kbmt KB306125 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:306125

Отправить отзыв

 

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