Anuncios

domingo, 7 de agosto de 2011

Apuntes sobre SQL Server linked servers

comparador excel Wizard de comparación y actualización entre 2 hojas Excel

Cómo crear linked servers para excel 2010:



EXEC sp_addlinkedserver @server = N'ExcelDataSource',
@srvproduct=N'ExcelData', @provider=N'Microsoft.ACE.OLEDB.12.0',
@datasrc=N'C:\lista.xlsx',
@provstr=N'EXCEL 12.0'

Cómo hacer consultas a los archivos excel desde SQL Server:

SELECT [Nombre]

      ,[Apellido]
  FROM [ExcelDataSource]...[Sheet1$]
GO

Cómo hacer insert desde SQL Server a archivos Excel:
No es posible, salen errores.

Para crear un linked server a excel 2003:


EXEC sp_addlinkedserver 'libro',
   'Jet 4.0',
   'Microsoft.Jet.OLEDB.4.0',
   'c:\libro1.xls',
   NULL,
   'Excel 5.0';

Para insertar datos en un archivo Excel desde SQL Server:
INSERT INTO [libro]...[Hoja1$]

           ([Nombre]
           ,[Apellido]
           ,[ID])
     VALUES
           ('Juan'
           ,'Pedro'
           ,20)
GO

Para acceder a una base de datos MySQL desde SQL Server:

Instalar conectores, configurar en el provider MSDASQL:
  • Nested queries
  • Level 0 only
  • Allow inprocess
  • Support like operator

Para hacer consultas en tablas mySQL  desde SQL Server:
select * from openquery(MYSQL, 'select * from estudiantes')

Para insertar datos en mySQL  desde SQL Server:
INSERT OPENQUERY (MYSQL, 'SELECT nombre FROM estudiantes')

VALUES ('John');


Para actualizar datos en mySQL desde SQL Server:
UPDATE OPENQUERY (MYSQL, 'SELECT nombre FROM estudiantes WHERE nombre = ''Juan''')
SET nombre = 'Arnovio';




Para borrar una fila de una tabla mySQL desde SQL Server:

DELETE OPENQUERY (MYSQL, 'SELECT nombre FROM estudiantes WHERE nombre = ''Arnovio''')





EXEC sp_addlinkedserver
   @server = N'Access',
   @provider = N'Microsoft.ACE.OLEDB.12.0',
   @srvproduct = N'OLE DB Provider for ACE',
   @datasrc = N'C:\Database1.accdb';
GO

People who read this post also read :