Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

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

Este artículo se publicó anteriormente con el número E306125
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
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.ConnectionSet 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.RecordsetSet rsPubs = New ADODB.RecordsetWith 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	.CloseEnd WithcnPubs.CloseSet rsPubs = NothingSet 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:
ACC2002 xl2002 XL2003 XL2007

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 306125 - Última revisión: 04/19/2012 03:13:00 - Revisión: 1.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard Edition

  • kbhowtomaster kbmt KB306125 KbMtes
Comentarios
>