驗證SQL Server 中的檔案是否存在
問題陳述
問題陳述問題陳述 解決方案
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
為了實現這一目標,我們可以使用 master.dbo.xp_fileexist 擴充儲存程序來檢查指定檔案是否存在。但是,要將此技術應用於表,需要自訂函數。
自訂函數dbo.fn_FileExists(filepath)
新增計算列
編輯表以新增名為 IsExists的計算列,其中表達式:
SELECT * FROM dbo.MyTable where IsExists = 1
用法
現在,您可以簡單地選擇已有檔案的記錄:
select id, filename, dbo.fn_FileExists(filename) as IsExists from dbo.MyTable
替代用法(計算列之外)
在外部使用函數計算列:
故障排除如果函數對於已知文件返回0,請檢查資料夾權限並確保 SQL Server 帳戶具有唯讀存取權限。此外,將「網路服務」帳戶新增至資料夾安全性設定以授予存取權限。以上是如何驗證表中每一行的檔案是否存在於 SQL Server 中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!