[SQL Server] Création d'un répertoire via OLE Automation

-- =============================================

-- Author:          Zouhaier KHARROUBI

-- Create date:     18/05/2018

-- Description:     Création d'un répertoire via OLE Automation

-- =============================================

CREATE PROCEDURE[dbo].[usp_CreerRepertoire](@NouveauRepertoire varchar(1000))AS

BEGIN

DECLARE @OLERepertoire INT

,@OLEsource                       VARCHAR(255)

,@OLEdescription           VARCHAR(255)

,@Ret                             INT

,@OLEfilesytemobjectINT

-- ls script échoue si OLE automation n'est pas activé

EXEC @Ret=sp_OACreate'Scripting.FileSystemObject', @OLEfilesytemobject OUT

IF @Ret <> 0

BEGIN

       EXECsp_OAGetErrorInfo@OLEfilesytemobject

       RETURN

END

-- vérifier si le répertoire existe

EXEC @Ret=sp_OAMethod@OLEfilesytemobject,'Repertoire existe déjà', @OLERepertoire OUT, @newRepertoire

-- créer le répertoire s'il n'existe pas

IF @OLERepertoire=0

       BEGIN

       EXEC @Ret=sp_OAMethod@OLEfilesytemobject,'Repertoire crée', @OLERepertoire OUT, @newRepertoire

END

-- Afficher le message d'erreur si la création du répertoire a échouée

IF @Ret <> 0

       BEGIN

             EXECsp_OAGetErrorInfo@OLEfilesytemobject, @OLEsource OUT, @OLEdescription OUT

             SELECT @OLEdescription='Impossible de créer le répertoire : '+ @OLEdescription

             RAISERROR (@OLEdescription, 16, 1)  

       END

EXECUTE @Ret =sp_OADestroy@OLEfilesytemobject

END