SQL dotaz pro funkci OPENROWSET :--
1) Otevřete SQL Server Management Studio
2) Otevřete panel dotazů a napište následující příkazy
3) Pro soubor Excel 97 – 2003, což jsou soubory s příponou XLS použijte
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. Vytvoří tabulku s názvem Adresy v aktuálně vybrané databázi.
ii. Microsoft.Jet.OLEDB.4.0 je ovladač používaný pro převod
iii. Excel soubor s cestou - D:\SQL Scripts\msp.xls
iv. Včetně vlastnosti IMEX=1, se sloupci, které obsahují smíšené datové typy, se zachází jako s datovými typy řetězec/text.
v. HRD =Vlastnost Ano znamená, že horní řádek souboru aplikace Excel se skládá z názvu záhlaví sloupce
vi. List1 je název listu, který chcete importovat
vii. Excel 8.0 uvádí, že se jedná o soubor Excel formátu 97 – 2003
4) Pro použití filtrovacího dotazu může uživatel použít klauzuli where is tímto příkazem jako
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) Pro zkopírování excelového souboru do předdefinované SQL tabulky použijte funkci OPENROWSET s příkazem insert jako:-
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) Pro soubor Excel 2007 – 2010, což jsou soubory s příponou XLSX.
SELECT *INTO [dbo].[Adresy]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Databáze=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * OD [Sheet1$]')
i. Vytvoří tabulku s názvem Adresy v aktuálně vybrané databázi
ii. Microsoft.ACE.OLEDB.12.0 je ovladač používaný pro převod
iii. Excel soubor s cestou - D:\SQL Scripts\msp.xlsx
iv. Včetně vlastnosti IMEX=1, se sloupci, které obsahují smíšené datové typy, se zachází jako s datovými typy řetězec/text.
v. HRD =Vlastnost Ano znamená, že horní řádek souboru aplikace Excel se skládá z názvu záhlaví sloupce
vi. List1 je název listu, který chcete importovat
vii. Excel 12.0 uvádí, že se jedná o soubor Excel formátu 2007 – 2010
7) Pro zkopírování excelového souboru do předdefinované SQL tabulky použijte funkci OPENROWSET s příkazem insert jako:-
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$]')