Zapytanie SQL dla funkcji OPENROWSET:--
1) Otwórz Studio zarządzania serwerem SQL
2) Otwórz klawiaturę zapytań i wpisz następujące polecenia
3) Dla pliku Excel 97 – 2003, czyli plików z rozszerzeniem XLS użyj
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. Utworzy tabelę z nazwami Adresy w aktualnie wybranej bazie danych.
ii. Microsoft.Jet.OLEDB.4.0 to sterownik używany do konwersji
iii. Plik Excel ze ścieżką - D:\SQL Scripts\msp.xls
iv. Uwzględniono właściwość IMEX=1, kolumny zawierające przemieszane typy danych są traktowane jako typy danych typu ciąg/tekst.
v. HRD =Właściwość Tak oznacza, że górny wiersz pliku Excel zawiera nazwę nagłówka kolumny
vi. Arkusz1 to nazwa arkusza, który chcesz zaimportować
vii. Excel 8.0 określa, że jest to plik Excel w formacie 97 – 2003
4) Aby użyć zapytania filtrującego, użytkownik może użyć klauzuli where również z tym poleceniem, takim jak
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) Aby skopiować plik Excela do predefiniowanej tabeli SQL, użyj funkcji OPENROWSET z poleceniem wstawiania, takim jak:-
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) Dla pliku Excel 2007 – 2010, czyli plików z rozszerzeniem XLSX użyj
SELECT *INTO [dbo].[Adresy]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * Z [Arkusz1$]')
i. Utworzy tabelę z nazwami Adresy w aktualnie wybranej bazie danych
ii. Microsoft.ACE.OLEDB.12.0 to sterownik używany do konwersji
iii. Plik Excel ze ścieżką - D:\SQL Scripts\msp.xlsx
iv. Uwzględniono właściwość IMEX=1, kolumny zawierające przemieszane typy danych są traktowane jako typy danych typu ciąg/tekst.
v. HRD =Właściwość Tak oznacza, że górny wiersz pliku Excel zawiera nazwę nagłówka kolumny
vi. Arkusz1 to nazwa arkusza, który chcesz zaimportować
vii. Excel 12.0 określa, że jest to plik Excel w formacie 2007 – 2010
7) Aby skopiować plik Excela do predefiniowanej tabeli SQL, użyj funkcji OPENROWSET z poleceniem wstawiania, takim jak:-
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$]')