Documente Academic
Documente Profesional
Documente Cultură
CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas
Iniciar sesin
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.
2/10
28/12/2016
CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas
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
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
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'
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$)
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
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
tcnico
8/10
28/12/2016
CmoutilizarExcelconSQLServerservidoresvinculadosyconsultasdistribuidas
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