Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मैं SQL सर्वर में किसी Excel फ़ाइल को लिंक्ड सर्वर के रूप में कैसे कॉन्फ़िगर करूँ?

जो लोग SQL सर्वर 2012+ का उपयोग कर रहे हैं, उनके लिए आप Microsoft OLEDB 12.0 प्रदाता का उपयोग कर सकते हैं जो SQL Server 2012+ के साथ आता है और जो आपको तदर्थ वितरित प्रश्नों के लिए या लिंक किए गए सर्वर के रूप में Excel 2007-2013 xlsx फ़ाइलों का उपयोग करने की अनुमति देता है। नीचे उदाहरण।

Excel कार्यपुस्तिका 'Application.xlsx' में 3 कार्यपत्रक हैं अनुप्रयोग, उपकरण, UserFirst सर्वर पर तदर्थ प्रश्नों को सक्रिय करें।

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

तदर्थ प्रश्नों के लिए 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$]');

एक्सेल 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'

अब, अपनी एक्सेल फाइल को दो तरह से क्वेरी करें:

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. एसक्यूएल सर्वर में जहां क्लॉज में उपनाम कॉलम नाम का उपयोग कैसे करें

  2. SqlParameter तालिका नाम की अनुमति नहीं देता है - sql इंजेक्शन हमले के बिना अन्य विकल्प?

  3. सेलेक्ट क्लॉज में डॉट (.) के साथ कॉलम नाम कैसे लिखें?

  4. SQL सर्वर सम्मिलित करें यदि मौजूद नहीं है

  5. कृपया PIVOT के भागों की व्याख्या करें