יום שני, 3 במרץ 2008

xp_fileexist

אחת היכולות החזקות של פלטפורמת ה- SQL הינה היכולת להתחבר ול"התממשק" לקבצי מערכת ההפעלה .
ישנם מספר דרכים לבצע פעולה זו , אחת מהדרכים היעילות והטובות היא דרך הפרודצורה - xp_fileexist .

פרוצודרה זו שזמינה גם בפלטפורמת ה- 2000 וב- 2005 מאפשרת ל- DBA לקבל נתונים אודות קבצים הקיימים בתקיות , לדוגמא :
DECLARE @FileName varchar(255)SELECT @FileName='C:\boot.ini'EXEC Master.dbo.xp_fileexist @filenameGO
והתשובה ...
לבצע בדיקת קיום הקובץ , לדוגמא:
DECLARE @FileName varchar(255) DECLARE @File_Exists int
SELECT @FileName='C:\boot.ini' EXEC Master.dbo.xp_fileexist @FileName, @File_Exists OUT IF @File_Exists = 1 PRINT 'File Found' ELSE PRINT 'File Not Found' GO

והתשובה:
כמובן שניתן לשמור את תוצאות הפרוצדורה בטבלה זמנית ...
DECLARE @FileName varchar(255)CREATE TABLE #File_Results (File_Exists int,File_is_a_Directory int,Parent_Directory_Exists int)SELECT @FileName='C:\boot.ini'INSERT INTO #File_Results(File_Exists, file_is_a_directory, parent_directory_exists)EXEC Master.dbo.xp_fileexist @filenameSELECT * FROM #File_ResultsDROP TABLE #File_ResultsGO

כעת ניתן לנהל ולנטר טוב יותר את הקבצים בשרת !

בהצלחה!

אין תגובות: