Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để định cấu hình tệp Excel làm Máy chủ được Liên kết trong SQL Server?

Đối với những người đang sử dụng SQL SERVER 2012+, bạn có thể sử dụng Nhà cung cấp Microsoft OLEDB 12.0 đi kèm với SQL Server 2012+ và cho phép bạn sử dụng tệp xlsx Excel 2007-2013 cho các truy vấn phân tán adhoc hoặc dưới dạng máy chủ được liên kết. Ví dụ bên dưới.

Sổ làm việc Excel 'Application.xlsx' có 3 trang tính Ứng dụng, Thiết bị, Người dùng Đầu tiên Kích hoạt Truy vấn Ad Hoc trên Máy chủ.

USE MSDB
GO
sp_configure 'show advanced options', 1
GO
RECONFIGURE WITH OverRide
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE WITH OverRide
GO

EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
GO

EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1

Đối với các Truy vấn Ad Hoc, hãy sử dụng Hàm OPENROWSET.

SELECT * FROM 
OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel   8.0;Database=C:\Users\Administrator\Desktop\Application.xlsx;HDR=YES', 'SELECT * FROM [Application$]');

SELECT * FROM 
OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel   8.0;Database=C:\Users\Administrator\Desktop\Application.xlsx;HDR=YES', 'SELECT * FROM [Device$]');

SELECT * FROM 
OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel  8.0;Database=C:\Users\Administrator\Desktop\Application.xlsx;HDR=YES', 'SELECT * FROM [User$]');

Để tạo máy chủ được liên kết cho định dạng Excel 2007-2013:

USE MSDB
GO
EXEC sp_addLinkedServer
@server= 'XLSX_MATRIX',
@srvproduct = 'ACE 12.0',
@provider = 'Microsoft.ACE.OLEDB.12.0',
@datasrc = 'C:\Users\Administrator\Desktop\Application.xlsx',
@provstr = 'Excel 12.0; HDR=Yes'

Bây giờ, hãy truy vấn tệp excel của bạn theo hai cách:

SELECT * FROM OPENQUERY (XLSX_MATRIX, 'Select * from [Application$]')
SELECT * FROM OPENQUERY (XLSX_MATRIX, 'Select * from [Device$]')
SELECT * FROM OPENQUERY (XLSX_MATRIX, 'Select * from [User$]')

SELECT * FROM XLSX_MATRIX...[Application$]
SELECT * FROM XLSX_MATRIX...[Device$]
SELECT * FROM XLSX_MATRIX...[User$]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách bật Tất cả Ràng buộc Kiểm tra &Khóa ngoại cho Bảng trong SQL Server (Ví dụ T-SQL)

  2. Sử dụng biểu thức CASE trong SQL Server

  3. Có cách nào tốt để gỡ lỗi Chuỗi hoặc dữ liệu nhị phân sẽ bị cắt bớt không?

  4. Khái niệm thiết kế cơ sở dữ liệu với SQL Server Management Studio (SSMS) Phần 1

  5. Cơ sở dữ liệu hệ thống máy chủ SQL - Bảo trì Tempdb