Consulta SQL para la función OPENROWSET:--
1) Abra SQL Server Management Studio
2) Abra el panel de consultas y escriba los siguientes comandos
3) Para archivos de Excel 97 – 2003 que son archivos con extensión XLS use
SELECT * INTO [dbo].[Addresses]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]')
i. Creará una tabla con el nombre Direcciones en la base de datos seleccionada actualmente.
ii. Microsoft.Jet.OLEDB.4.0 es el uso del controlador para la conversión
iii. Archivo de Excel con ruta - D:\SQL Scripts\msp.xls
IV. IMEX=1 propiedad incluida, las columnas que contienen tipos de datos entremezclados se tratan como tipos de datos de cadena/texto.
v. La propiedad HRD =Sí significa que la fila superior del archivo de Excel consiste en el nombre del encabezado de columna
vi. Sheet1 es el nombre de la hoja que desea importar
vii. Excel 8.0 especifica que es un archivo de Excel con formato 97 – 2003
4) Para usar la consulta de filtro, el usuario puede usar la cláusula where también con este comando como
SELECT * INTO [dbo].[Addresses]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]') where [column_name]=’value’
5) Para copiar el archivo de Excel en la tabla SQL predefinida, use la función OPENROWSET con el comando de inserción como:-
Create table Custom (Source_IP_ADD varchar(20),API_NAME varchar(50),COUNT_NO varchar(5),CLIENT_ID varchar(50),Date_OF_INVOKE varchar(50))
INSERT INTO [dbo].[Custom] ( [Source_IP_ADD], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_OF_INVOKE])
SELECT [Source_IP_ADDR], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_INVOK] FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]')
6) Para archivos de Excel 2007 – 2010 que son archivos con extensión XLSX use
SELECCIONE *INTO [dbo].[Direcciones]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * DESDE [Hoja1$]')
i. Creará una tabla con el nombre Direcciones en la base de datos seleccionada actual
ii. Microsoft.ACE.OLEDB.12.0 es el uso del controlador para la conversión
iii. Archivo de Excel con ruta - D:\SQL Scripts\msp.xlsx
IV. IMEX=1 propiedad incluida, las columnas que contienen tipos de datos entremezclados se tratan como tipos de datos de cadena/texto.
v. La propiedad HRD =Sí significa que la fila superior del archivo de Excel consiste en el nombre del encabezado de columna
vi. Sheet1 es el nombre de la hoja que desea importar
vii. Excel 12.0 especifica que es un archivo de Excel en formato 2007 – 2010
7) Para copiar el archivo de Excel en la tabla SQL predefinida, use la función OPENROWSET con el comando de inserción como:-
Create table Custom (Source_IP_ADD varchar(20),API_NAME varchar(50),COUNT_NO varchar(5),CLIENT_ID varchar(50),Date_OF_INVOKE varchar(50))
INSERT INTO [dbo].[Custom] ( [Source_IP_ADD], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_OF_INVOKE])
SELECT [Source_IP_ADDR], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_INVOK] FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * FROM [Sheet1$]')