Truy vấn SQL cho hàm OPENROWSET:-
1) Mở SQL Server Management Studio
2) Mở bảng truy vấn và viết các lệnh sau
3) Đối với tệp Excel 97 - 2003 là tệp có phần mở rộng XLS sử dụng
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$]')
tôi. Nó sẽ tạo bảng có tên Địa chỉ trong cơ sở dữ liệu được chọn hiện tại.
ii. Microsoft.Jet.OLEDB.4.0 là trình điều khiển được sử dụng để chuyển đổi
iii. Tệp Excel có đường dẫn - D:\ SQL Scripts \ msp.xls
iv. IMEX =1 thuộc tính bao gồm, các cột chứa kiểu dữ liệu trộn lẫn được coi là kiểu dữ liệu chuỗi / văn bản.
v. HRD =Thuộc tính Yes có nghĩa là hàng trên cùng của tệp excel bao gồm tên Tiêu đề Cột
vi. Sheet1 là tên của trang tính bạn muốn nhập
vii. Excel 8.0 chỉ định rằng đó là tệp excel định dạng 97 - 2003
4) Để sử dụng truy vấn bộ lọc, người dùng có thể sử dụng mệnh đề where cũng với lệnh này như
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) Để sao chép tệp excel trong bảng SQL được xác định trước, hãy sử dụng hàm OPENROWSET với lệnh chèn như:-
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) Đối với tệp Excel 2007 - 2010 là tệp có phần mở rộng XLSX sử dụng
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 * TỪ [Sheet1 $] ')
tôi. Nó sẽ tạo bảng có tên Địa chỉ trong cơ sở dữ liệu được chọn hiện tại
ii. Microsoft.ACE.OLEDB.12.0 là trình điều khiển được sử dụng để chuyển đổi
iii. Tệp Excel có đường dẫn - D:\ SQL Scripts \ msp.xlsx
iv. IMEX =1 thuộc tính bao gồm, các cột chứa kiểu dữ liệu trộn lẫn được coi là kiểu dữ liệu chuỗi / văn bản.
v. HRD =Thuộc tính Yes có nghĩa là hàng trên cùng của tệp excel bao gồm tên Tiêu đề Cột
vi. Sheet1 là tên của trang tính bạn muốn nhập
vii. Excel 12.0 chỉ định rằng đó là tệp excel định dạng 2007 - 2010
7) Để sao chép tệp excel trong bảng SQL được xác định trước, hãy sử dụng hàm OPENROWSET với lệnh chèn như:-
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$]')