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

फ़ाइल की जाँच करें sql सर्वर में मौजूद है या नहीं?

इस तरह एक फंक्शन बनाएं:

CREATE FUNCTION dbo.fn_FileExists(@path varchar(512))
RETURNS BIT
AS
BEGIN
     DECLARE @result INT
     EXEC master.dbo.xp_fileexist @path, @result OUTPUT
     RETURN cast(@result as bit)
END;
GO

अपनी तालिका संपादित करें और एक परिकलित कॉलम (IsExists BIT) जोड़ें। व्यंजक को इस पर सेट करें:

dbo.fn_FileExists(filepath)

फिर बस चुनें:

SELECT * FROM dbo.MyTable where IsExists = 1

अपडेट करें :

परिकलित कॉलम के बाहर फ़ंक्शन का उपयोग करने के लिए:

select id, filename, dbo.fn_FileExists(filename) as IsExists
from dbo.MyTable

अपडेट करें :

यदि फ़ंक्शन किसी ज्ञात फ़ाइल के लिए 0 देता है, तो संभावना है कि कोई अनुमति समस्या है। सुनिश्चित करें कि SQL सर्वर के खाते में फ़ोल्डर और फ़ाइलों तक पहुँचने के लिए पर्याप्त अनुमतियाँ हैं। केवल पढ़ने के लिए पर्याप्त होना चाहिए।

और हाँ, डिफ़ॉल्ट रूप से, 'नेटवर्क सेवा' खाते का अधिकांश फ़ोल्डरों में पर्याप्त अधिकार नहीं होगा। विचाराधीन फ़ोल्डर पर राइट क्लिक करें और 'गुण' चुनें, फिर 'सुरक्षा' टैब पर क्लिक करें। 'संपादित करें' पर क्लिक करें और 'नेटवर्क सेवा' जोड़ें। 'लागू करें' पर क्लिक करें और पुनः परीक्षण करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (T-SQL) में डेटा प्रकारों की सूची कैसे लौटाएं

  2. SQL सर्वर में 'डेटाटाइम' को 'टाइम' में बदलें (T-SQL उदाहरण)

  3. अल्पविराम सीमांकित स्ट्रिंग को विभाजित करें और एक तालिका में डालें (int)

  4. शून्य या शून्य मानों को अनदेखा करते हुए AVG प्राप्त करें

  5. ISJSON () SQL सर्वर में उदाहरण (T-SQL)