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.

[code]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[/code]

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

[code]SELECT dbo.fn_FileExists(‘C:\directorio\fichero.txt’) [/code]

En caso de existir fichero.txt, retornará un 1, en caso contrario, un 0.

Deja un comentario

Esta web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está aceptando éstas y nuestra política de las mismas.

ACEPTAR
Aviso de cookies