Comprobar si existe un fichero con SQL Server

Para hacer más estable un procedimiento almacenado o stored procedure en SQL Server que trabaje con ficheros se puede realizar la comprobación de si el fichero en cuestión existe antes de empezar a procesarlo, de manera que sea más fácil de controlar el error que devuelve SQL Server cuando no existe. Esto es especialmente útil en los procesos de importación de ficheros.

La función que se puede utilizar para comprobar si existe un fichero es la siguiente. El único parámetro que recibe es la ruta y el nombre del fichero a comprobar, devolviendo un valor de tipo bit, valiendo 1 si existe y 0 si no existe. Como se puede observar, la función acaba llamando a la función propia de SQL Server llamada xp_fileexist.

CREATE FUNCTION dbo.fn_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

Un ejemplo de la llamada a esta función sería la siguiente:

SELECT dbo.fn_FileExists('C:\directorio\fichero.txt') 

En caso de existir fichero.txt, retornará un 1, en caso contrario, un 0. Se puede buscar cualquier tipo de fichero, no tiene porque ser un archivo sql, txt o de cualquier extensión en concreto.

1 comentario en «Comprobar si existe un fichero con SQL Server»

Deja un comentario

Pin It on Pinterest

Logo Trellat
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.