sql >> Databáze >  >> RDS >> Sqlserver

Zkontrolovat, zda soubor existuje nebo ne na serveru SQL?

Vytvořte funkci takto:

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

Upravte tabulku a přidejte vypočítaný sloupec (IsExists BIT). Nastavte výraz na:

dbo.fn_FileExists(filepath)

Poté stačí vybrat:

SELECT * FROM dbo.MyTable where IsExists = 1

Aktualizovat :

Chcete-li použít funkci mimo vypočítaný sloupec:

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

Aktualizovat :

Pokud funkce vrátí 0 pro známý soubor, pravděpodobně došlo k problému s oprávněními. Ujistěte se, že účet SQL Server má dostatečná oprávnění pro přístup ke složce a souborům. Mělo by stačit pouze čtení.

A ANO, ve výchozím nastavení nebude mít účet 'NETWORK SERVICE' dostatečná práva do většiny složek. Klikněte pravým tlačítkem na příslušnou složku a vyberte „Vlastnosti“ a poté klikněte na kartu „Zabezpečení“. Klikněte na 'Upravit' a přidejte 'Síťová služba'. Klikněte na „Použít“ a znovu otestujte.



  1. Barman Cloud – Část 2:Cloud Backup

  2. Kroky ke změně hesla správce, které bylo ztraceno nebo zapomenuto v doméně EBS WebLogic R12.2

  3. Vkládání MySQL z jedné databáze do druhé

  4. funkce to_date se sysdate