Sunteți pe pagina 1din 10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

Iniciar sesin

Cmo utilizar Excel con SQL Server servidores vinculados y las


consultas distribuidas
IMPORTANTE: Este artculo ha sido traducido por un software de traduccin automtica de Microsoft
http://support.microsoft.com/gp/mtdetails en lugar de un traductor humano. Microsoft le ofrece
artculos traducidos por un traductor humano y artculos traducidos automticamente para que tenga
acceso en su propio idioma a todos los artculos de nuestra base de conocimientos Knowledge Base.
Sin embargo, los artculos traducidos automticamente pueden contener errores en el vocabulario, la
sintaxis o la gramtica, como los que un extranjero podra cometer al hablar el idioma. Microsoft no
se hace responsable de cualquier imprecisin, error o dao ocasionado por una mala traduccin del
contenido o como consecuencia de su utilizacin por nuestros clientes. Microsoft suele actualizar el
software de traduccin frecuentemente.
Haga clic aqu para ver el artculo original en ingls: 306397

Resumen
Microsoft SQL Server admite conexiones a otros orgenes de datos OLE DB en una persistente o forma
adhoc. La conexin permanente se conoce como un servidor vinculado; una conexin ad hoc que se
realiza en aras de una sola consulta se conoce como una consulta distribuida.
Libros de Microsoft Excel son un tipo de origen de datos OLE DB que puede consultar a travs de SQL
Server de esta manera. Este artculo describe la sintaxis que es necesaria configurar un origen de datos
de Excel como un servidor vinculado, as como la sintaxis necesaria utilizar una consulta distribuida que
consulta un origen de datos de Excel.

Ms informacin
Consultar un origen de datos de Excel en un servidor vinculado
Puede utilizar SQL Server Management Studio o Administrador corporativo, un sistema de
procedimiento almacenado, SQLDMO objetos de administracin distribuida o SMO objetos de
administracin de SQL Server para configurar un origen de datos de Excel como un servidor vinculado
https://support.microsoft.com/esmx/kb/306397

1/10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

administracin de SQL Server para configurar un origen de datos de Excel como un servidor vinculado
de SQL Server. SMO slo estn disponibles para Microsoft SQL Server 2005. En todos estos casos,
siempre debe establecer las cuatro propiedades siguientes:
El nombre que desea utilizar para el servidor vinculado.
OLE DB proveedor que se utiliza para la conexin.
El origen de datos o el nombre completo de ruta de acceso y para el libro de Excel.
La cadena del proveedor, que identifica el destino como un libro de Excel. De forma
predeterminada, el proveedor Jet espera una base de datos de Access.
El procedimiento de almacenado del sistema sp_addlinkedserver tambin espera que la propiedad
@srvproduct , que puede ser cualquier valor de cadena.
Nota: Debido a que existen varias versiones de Microsoft Windows, los siguientes pasos pueden ser
diferentes en su equipo. Si est utilizando SQL Server 2005, debe especificar un valor que no est vaco
para la propiedad de nombre de producto en SQL Server Management Studio o la propiedad
@srvproduct en el procedimiento almacenado para un origen de datos de Excel.

Utilizando SQL Server Management Studio o Administrador corporativo para configurar un


origen de datos de Excel como un servidor vinculado
SQL Server Management Studio (SQL Server 2005)
1. En SQL Server Management Studio, expanda Objetos de servidor en el Explorador de objetos.
2. Ratn en Servidores vinculadosy, a continuacin, haga clic en nuevo servidor vinculado.
3. En el panel izquierdo, seleccione la pgina General y, a continuacin, siga estos pasos:
a. En el primer cuadro de texto, escriba cualquier nombre para el servidor vinculado.
b. Seleccione la opcin otro origen de datos .
c. En la lista proveedor , haga clic en Proveedor OLE DB de Microsoft Jet 4.0.
d. En el cuadro nombre del producto , escriba Excel para el nombre del origen de datos OLE
DB.
e. En el cuadro origen de datos , escriba la ruta y el nombre completo del archivo Excel.
f. En el cuadro cadena de proveedor , escriba Excel 8.0 para un libro de Excel 2002, Excel
2000 o Excel 97.
g. Haga clic en Aceptar para crear el nuevo servidor vinculado.
Nota:

Administrador corporativo (SQL Server 2000)


1. En el Administrador corporativo, haga clic para expandir la carpeta seguridad .
2. Ratn en Servidores
https://support.microsoft.com/esmx/kb/306397

vinculadosy, a continuacin, haga clic en nuevo servidor vinculado.

2/10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

2. Ratn en Servidores vinculadosy, a continuacin, haga clic en nuevo servidor vinculado.


3. En la ficha General , siga estos pasos:
a. En el primer cuadro de texto, escriba cualquier nombre para el servidor vinculado.
b. En el cuadro tipo de servidor , haga clic en otro origen de datos.
c. En la lista nombre de proveedor , haga clic en Proveedor OLE DB de Microsoft Jet 4.0.
d. En el cuadro origen de datos , escriba la ruta de acceso y el nombre completo del archivo
de Excel.
e. En el cuadro cadena de proveedor , escriba Excel 8.0 para un libro de Excel 2002, Excel
2000 o Excel 97.
f. Haga clic en Aceptar para crear el nuevo servidor vinculado.
4. Haga clic para expandir el nuevo nombre de servidor vinculado para expandir la lista de objetos
que contiene.
5. En el nuevo nombre de servidor vinculado, haga clic en tablas. Observe que aparecen sus hojas
de clculo y los rangos con nombre en el rightpane.

Mediante un procedimiento almacenado para configurar un origen de datos de Excel como


un servidor vinculado
Tambin puede utilizar la de procedimiento almacenado del sistema sp_addlinkedserver para configurar
un origen de datos de Excel como un servidor vinculado:

DECLARE@RCint
DECLARE@servernvarchar(128)
DECLARE@srvproductnvarchar(128)
DECLARE@providernvarchar(128)
DECLARE@datasrcnvarchar(4000)
DECLARE@locationnvarchar(4000)
DECLARE@provstrnvarchar(4000)
DECLARE@catalognvarchar(128)
Setparametervalues
SET@server='XLTEST_SP'
SET@srvproduct='Excel'
SET@provider='Microsoft.Jet.OLEDB.4.0'
SET@datasrc='c:\book1.xls'
SET@provstr='Excel8.0'
EXEC@RC=[master].[dbo].[sp_addlinkedserver]@server,@srvproduct,@provi
der,
@datasrc,@location,@provstr,@catalog

https://support.microsoft.com/esmx/kb/306397

3/10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

Como se mencion anteriormente, este procedimiento almacenado requiere un valor de cadena


arbitrario adicional para el argumento @srvproduct , que aparece como "Product name" en la
configuracin de Administrador corporativo de SQL Server Management Studio. No se utilizan los
argumentos @location y @catalog .

Mediante SQL-DMO para configurar un origen de datos de Excel como un servidor


vinculado
Puede utilizar objetos de administracin distribuida de SQL para configurar un origen de datos de Excel
como un servidor vinculado mediante programacin de Microsoft Visual Basic u otro lenguaje de
programacin. Debe proporcionar los mismos cuatro argumentos necesarios en la configuracin de
Administrador corporativo de SQL Server Management Studio.

PrivateSubCommand1_Click()
DimsAsSQLDMO.SQLServer
DimlsAsSQLDMO.LinkedServer
Sets=NewSQLDMO.SQLServer
s.Connect"(local)","sa","password"
Setls=NewSQLDMO.LinkedServer
Withls
.Name="XLTEST_DMO"
.ProviderName="Microsoft.Jet.OLEDB.4.0"
.DataSource="c:\book1.xls"
.ProviderString="Excel8.0"
EndWith
s.LinkedServers.Addls
s.Close
EndSub

Con SMO para configurar un origen de datos de Excel como un servidor vinculado
En SQL Server 2005, puede utilizar SQL Server Management Objects SMO para configurar un origen de
datos de Excel como un servidor vinculado mediante programacin. Para ello, puede utilizar Microsoft
Visual Basic .NET u otro lenguaje de programacin. Debe proporcionar los argumentos necesarios en la
configuracin de SQL Server Management Studio. El modelo de objetos SMO ampla y reemplaza el
modelo de objetos de objetos de administracin distribuida SQLDMO. SMO es compatible con SQL
Server versin 7.0, SQL Server 2000 y SQL Server 2005, tambin se puede utilizar SMO para la
configuracin de SQL Server 2000.

ImportsMicrosoft.SqlServer.Management.Smo
ImportsMicrosoft.SqlServer.Management.Common
PublicClassForm1
https://support.microsoft.com/esmx/kb/306397

4/10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSys
tem.EventArgs)HandlesButton1.Click
DimsAsServer
DimconnAsServerConnection
DimlsAsLinkedServer
conn=NewServerConnection("ServerName\InstanceName","YourUesrNam
e","YourPassword")
s=NewServer(conn)
Try
ls=NewLinkedServer(s,"XLTEST_DMO")
Withls
.ProviderName="Microsoft.Jet.OLEDB.4.0"
.ProductName="Excel"
.DataSource="c:\book1.xls"
.ProviderString="Excel8.0"
EndWith
ls.Create()
MessageBox.Show("NewlinkedServerhasbeencreated.")
CatchexAsSmoException
MessageBox.Show(ex.Message)
Finally
ls=Nothing
Ifs.ConnectionContext.IsOpen=TrueThen
s.ConnectionContext.Disconnect()
EndIf
EndTry
EndSub
EndClass

Consultar un origen de datos de Excel en un servidor vinculado


Despus de configurar un origen de datos de Excel como un servidor vinculado, se pueden consultar
fcilmente los datos desde el analizador de consultas u otra aplicacin cliente. Por ejemplo, para
recuperar las filas de datos que se almacenan en la Hoja1 del archivo de Excel, el cdigo siguiente utiliza
el servidor vinculado que configura utilizando SQLDMO:

SELECT*FROMXLTEST_DMO...Sheet1$

Tambin puede utilizar OPENQUERY para consultar el servidor vinculado de Excel de una manera
"passthrough", como se indica a continuacin:

https://support.microsoft.com/esmx/kb/306397

5/10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

SELECT*FROMOPENQUERY(XLTEST_DMO,'SELECT*FROM[Sheet1$]')

El primer argumento que espera OPENQUERY es el nombre del servidor vinculado. Delimitadores son
necesarios para los nombres de hoja de clculo, como se muestra arriba.
Tambin puede obtener una lista de todas las tablas que estn disponibles en el servidor vinculado de
Excel utilizando la siguiente consulta:

EXECUTESP_TABLES_EX'XLTEST_DMO'

Consultar un origen de datos de Excel mediante el uso de consultas distribuidas


Puede utilizar las consultas distribuidas de SQL Server y la funcin OPENDATASOURCE u OPENROWSET
a orgenes de datos de Excel de consulta que se accede con poca frecuencia en forma adhoc.
Nota: Debido a que existen varias versiones de Microsoft Windows, los siguientes pasos pueden ser
diferentes en su equipo. Si est utilizando SQL Server 2005, asegrese de que tiene activada la opcin
Ad Hoc Distributed Queries utilizando SQL Server Surface Area Configuration, como en el ejemplo
siguiente:

SELECT*FROMOPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'DataSource=c:\book1.xls;ExtendedProperties=Excel8.0')...Sheet1$

Tenga en cuenta que OPENROWSET utiliza una sintaxis comn para el segundo argumento "cadena de
proveedor":

SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel8.0;Database=c:\book1.xls',Sheet1$)

La sintaxis que se puede esperar un programador de ActiveX Data Objects ADO a utilizar para el
segundo argumento "cadena de proveedor" con OPENROWSET:
https://support.microsoft.com/esmx/kb/306397

6/10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0',
'DataSource=c:\book1.xls;ExtendedProperties=Excel8.0',Sheet1$)

Esta sintaxis produce el siguiente error del proveedor de Jet:


No se pudo encontrar el archivo ISAM instalable.
Nota: Debido a que existen varias versiones de Microsoft Windows, los siguientes pasos pueden ser
diferentes en su equipo. Este error tambin se produce si escribe Origen de datos en lugar de Origen de
datos. Por ejemplo, el argumento siguiente es incorrecto:

SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0','DataSource=c:\book1.xl
s;ExtendedProperties=Excel8.0',Sheet1$)

Referencias
Porque SQL Server servidores vinculados y distribuyen las consultas utilizan el proveedor OLE DB, las
directrices generales y precauciones acerca del uso de ADO con Excel aplican aqu. Para obtener ms
informacin, haga clic en el siguiente nmero de artculo para verlo en Microsoft Knowledge Base:
257819 Cmo usar ADO con datos de Excel desde Visual Basic o VBA
Para obtener ms informacin acerca de los objetos de administracin de SQL Server, visite el siguiente
sitio Web de Microsoft Developer Network MSDN:
http://msdn2.Microsoft.com/enus/library/ms162169 ide .aspx
Para obtener ms informacin acerca de cmo habilitar la opcin Ad Hoc Distributed Queries , visite el
siguiente sitio Web de MSDN:
http://msdn2.Microsoft.com/enus/library/ms189978 ide .aspx

Advertencia: este artculo se tradujo automticamente

Propiedades

https://support.microsoft.com/esmx/kb/306397

7/10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

Propiedades
Id. de artculo: 306397 ltima revisin: 03/15/2015 04:51:00 Revisin: 7.0
La informacin de este artculo se refiere a:
Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft
SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server
2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000
Developer Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup
Edition, Microsoft SQL Server 7.0 Standard Edition
Palabras clave:
kbsqlsetup kbdatabase kbhowto kbjet kbmt KB306397 KbMtes

Soporte tcnico
Soporte de cuenta
Lista de productos admitidos
Ciclo de vida del soporte tcnico del producto

Seguridad
Centro de seguridad y proteccin de Microsoft
Descargar Security Essentials
Herramienta de eliminacin de software malintencionado

Ponerse en contacto con nosotros

Informar sobre una estafa de soporte


https://support.microsoft.com/esmx/kb/306397

tcnico

8/10

28/12/2016

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

Informar sobre una estafa de soporte tcnico


Answer Desk para personas con discapacidad
Preguntas de privacidad
Buscar direcciones de Microsoft en todo el mundo

Espaol Mxico
Trminos de uso

Privacidad y cookies

https://support.microsoft.com/esmx/kb/306397

Marcas comerciales

2016 Microsoft

9/10

28/12/2016

https://support.microsoft.com/esmx/kb/306397

CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas

10/10

S-ar putea să vă placă și