02/10/2018, 00:21

[SQLSERVER] Kiểm tra file có tồn tại trong thư mục hệ thống

Bài viết hôm nay, mình sẽ tiếp tục hướng dẫn các bạn cách tạo một function để kiểm tra file có tồn tại trong thư mục sqlserver . Vd: các bạn có một bảng table chứa tên tập tin và đường dẫn, và công việc của bạn là muốn kiểm tra file đó có tồn tại trên ...

Bài viết hôm nay, mình sẽ tiếp tục hướng dẫn các bạn cách tạo một function để kiểm tra file có tồn tại trong thư mục sqlserver.

Vd: các bạn có một bảng table chứa tên tập tin và đường dẫn, và công việc của bạn là muốn kiểm tra file đó có tồn tại trên hệ thống sqlserver không.

Đầu tiên, các bạn tạo cho mình một function với tên dbo.fc_FileExists với tham số truyền vào là đường dẫn đến file thư mục.

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

Sau khi các bạn chạy hàm fc_FileExists nếu file tồn tại sẽ trả về giá trị 1, và ngược lại trả về giá trị 0.

select dbo.fc_FileExists('C:mywork ech-recipes.rar'); ----- 1 (file có tồn tại)

select dbo.fc_FileExists('C:myworkarfi.mp3'); ----- 0 (file không tồn tại trong hệ thống)

Hướng dẫn sử dụng, bây giờ mình sẽ tạo một bảng table với tên filelist

Create table filelist
(
  fileno int,
  filename varchar(max)
);

Và insert dữ liệu vào bảng filelist

Insert into filelist values (1, 'C:mywork	ech-recipes.rar');
Insert into filelist VALUES (2, 'C:myworkarfi.mp3');

=> Và bạn sẽ truy vấn như sau để kiểm tra

Select fileno,
       filename, 
       dbo.fc_FileExists(filename) as IsFileExists
From   filelist;

=> Kết quả trả về khi thực hiện câu lệnh trên

kiểm tra file tồn tại trên hệ thống sqlserver

HAPPY CODING heart

Tags: file existscheck file exists
0