SQL-query voor functie OPENROWSET:--
1) Open SQL Server Management Studio
2) Open het queryblok en schrijf de volgende opdrachten
3) Gebruik voor Excel 97 – 2003 bestanden met de extensie XLS
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. Het zal een tabel maken met de naam Adressen in de huidige geselecteerde database.
ii. Microsoft.Jet.OLEDB.4.0 is het stuurprogramma voor conversie
iii. Excel-bestand met pad - D:\SQL Scripts\msp.xls
iv. IMEX=1 eigenschap inbegrepen, kolommen die vermengde datatypes bevatten worden behandeld als string/tekst datatypes.
v. HRD =Ja eigenschap betekent dat de bovenste rij van het Excel-bestand bestaat uit de naam van de kolomkop
vi. Blad1 is de naam van het blad dat u wilt importeren
vii. Excel 8.0 geeft aan dat het een Excel-bestand in 97 – 2003-formaat is
4) Om een filterquery te gebruiken, kan de gebruiker de where-clausule ook gebruiken met dit commando, zoals
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) Om het Excel-bestand in de vooraf gedefinieerde SQL-tabel te kopiëren, gebruikt u de functie OPENROWSET met een invoegopdracht zoals:-
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) Gebruik voor Excel 2007 – 2010 bestanden met de extensie XLSX
SELECT *INTO [dbo].[Adressen]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL-scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECTEER * VAN [Blad1$]')
i. Het zal een tabel maken met de naam Adressen in de huidige geselecteerde database
ii. Microsoft.ACE.OLEDB.12.0 is het stuurprogramma voor conversie
iii. Excel-bestand met pad - D:\SQL Scripts\msp.xlsx
iv. IMEX=1 eigenschap inbegrepen, kolommen die vermengde datatypes bevatten worden behandeld als string/tekst datatypes.
v. HRD =Ja eigenschap betekent dat de bovenste rij van het Excel-bestand bestaat uit de naam van de kolomkop
vi. Blad1 is de naam van het blad dat u wilt importeren
vii. Excel 12.0 geeft aan dat het een Excel-bestand in 2007 – 2010-formaat is
7) Om het Excel-bestand in de vooraf gedefinieerde SQL-tabel te kopiëren, gebruikt u de functie OPENROWSET met een invoegopdracht zoals:-
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$]')