Cómo importar datos desde Microsoft SQL Server a Microsoft Excel

Seleccione idioma Seleccione idioma
Id. de artículo: 306125 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E306125
Expandir todo | Contraer todo

En esta página

Resumen

Esta guía paso a paso describe cómo importar datos a Microsoft Excel desde la base de datos Pubs, una base de datos de ejemplo que se incluye en Microsoft SQL Server.

ActiveX Data Objects (ADO) proporcionan acceso a cualquier tipo de origen de datos. Es un modelo de objetos sin estructura con pocos objetos. Los objetos principales en el modelo de objetos ADO son:
   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.
				
Aunque hay muchas formas de devolver un conjunto de registros con ADO, en este artículo se centra en la conexión y los objetos Recordset.

Requisitos

Debe tener un servidor local que ejecuta Microsoft SQL Server y contiene la base de datos Pubs.

Microsoft recomienda que tener conocimientos de las acciones siguientes:
  • Creación de Visual Basic para Aplicaciones los procedimientos en los programas de Office.
  • Trabajar con variables de objeto.
  • Trabajar con objetos de Excel.
  • Conceptos de sistemas de administración de base de datos (RDBMS) relacional.
  • Instrucciones SELECT Lenguaje de consulta estructurado (SQL).

Hacer referencia a la biblioteca de objetos de ADO

  1. Inicie Excel. Abrir un libro nuevo y, a continuación, guárdelo como SQLExtract.xls.
  2. Inicie el Editor de Visual Basic y seleccione el proyecto VBA.
  3. En el Herramientas menú, haga clic en Referencias.
  4. Haga clic para seleccionar la versión más reciente de la Biblioteca de objetos de datos de Microsoft ActiveX casilla de verificación.

Creación de la conexión

  1. Inserte un nuevo módulo en el proyecto.
  2. Crear un nuevo procedimiento Sub denominado DataExtract.
  3. Escriba o pegue el código siguiente:
    ' 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
    					

Extracción de datos

Escriba o pegue el código siguiente para extraer los registros:
' 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
				

Comprobar que el código funciona

  1. Ejecute el código.
  2. Cambie a Excel y buscar en Sheet1 del libro para ver los datos.

Solución de problemas

Si el código parece bloquearse y recibe un error en tiempo de ejecución, puede que el servidor de base de datos hacia abajo. Puede utilizar la propiedad ConnectionTimeout para controlar el tiempo que se tarda en devolver un error en tiempo de ejecución. Establezca esta propiedad en un valor mayor que cero. Si establece el valor en cero, la conexión nunca tendrá tiempo de espera. El valor predeterminado es 15 segundos.

Referencias

Puede encontrar código de ejemplo adicionales buscando el siguiente sitio Web de Microsoft:
http://msdn.Microsoft.com/

Propiedades

Id. de artículo: 306125 - Última revisión: jueves, 19 de abril de 2012 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Palabras clave: 
kbhowtomaster kbmt KB306125 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 306125

Enviar comentarios

 

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