SQL заявка за функция OPENROWSET :--
1) Отворете SQL Server Management Studio
2) Отворете полето за заявки и напишете следните команди
3) За Excel 97 – 2003 файл, който е файл с разширение 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$]')
аз Той ще създаде таблица с имена Адреси в текущо избраната база данни.
ii. Microsoft.Jet.OLEDB.4.0 е драйверът, използван за преобразуване
iii. Excel файл с път - D:\SQL Scripts\msp.xls
iv. IMEX=1 включено свойство, колони, които съдържат смесени типове данни, се третират като типове данни низ/текст.
v. Свойство HRD =Да означава, че най-горният ред на excel файл се състои от име на заглавка на колона
vi. Sheet1 е името на листа, който искате да импортирате
vii. Excel 8.0 уточнява, че това е excel файл във формат 97 – 2003
4) За да използва заявка за филтър, потребителят може да използва клаузата where също с тази команда като
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) За да копирате файла на Excel в предварително зададена SQL таблица, използвайте функцията OPENROWSET с команда за вмъкване като:-
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) За файл на Excel 2007 – 2010, който е файл с разширение XLSX използвайте
SELECT *INTO [dbo].[Addresses]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * ОТ [Sheet1$]')
аз Той ще създаде таблица с имена Адреси в текущо избраната база данни
ii. Microsoft.ACE.OLEDB.12.0 е драйверът, използван за преобразуване
iii. Excel файл с път - D:\SQL Scripts\msp.xlsx
iv. IMEX=1 включено свойство, колони, които съдържат смесени типове данни, се третират като типове данни низ/текст.
v. Свойство HRD =Да означава, че най-горният ред на excel файл се състои от име на заглавка на колона
vi. Sheet1 е името на листа, който искате да импортирате
vii. Excel 12.0 уточнява, че това е excel файл във формат 2007 – 2010
7) За да копирате файла на Excel в предварително зададена SQL таблица, използвайте функцията OPENROWSET с команда за вмъкване като:-
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$]')