sp_configure 'show advanced options',1
go 
reconfigure with override
go
sp_configure 'Ole Automation Procedures',1
go
reconfigure  with override
go
ALTER PROC dbo.usp_OACreate  @folderName VARCHAR(256)='C:\Test\testfa'
AS
BEGIN 
	DECLARE @hr INT,@fso_token INT,@dirHandle INT,@IsDir_flag BIT,@IsParDirExists_Flag BIT
	DECLARE @tempTab TABLE(fileexists_flag BIT,IsDir_flag BIT,IsParDirExists_Flag BIT)
	INSERT INTO @tempTab
	EXEC xp_fileexist @folderName  --,@hr output
	SELECT @IsDir_flag=IsDir_flag,@IsParDirExists_Flag=IsParDirExists_Flag FROM @tempTab
	IF @IsDir_flag<>1 AND @IsParDirExists_Flag=1
		BEGIN
		     EXEC @hr=SP_OACREATE 'Scripting.FileSystemObject',@fso_token OUTPUT
			  IF @hr<>0
				BEGIN
					GOTO errorProcess
				END
				ELSE
					BEGIN
						EXEC @hr=SP_OAMethod @fso_token,'CreateFolder',@dirHandle OUTPUT,@folderName
					    
					    IF @hr<>0 GOTO errorProcess
						ELSE 
						 EXEC SP_OADestroy @fso_token
					END
		END
	ELSE
	GOTO fileexists
	errorProcess:
	EXEC SP_OAGetErrorInfo @fso_token
	RETURN 1; --- FAILED
	fileexists:
	RAISERROR('Folder %s exists OR its parent directory path is not exist!!! please check!!!',-1,-1,@folderName) WITH NOWAIT
END
GO

  

相关文章:

  • 2021-12-10
  • 2022-12-23
  • 2021-12-26
  • 2021-09-11
  • 2021-07-17
  • 2021-12-03
  • 2022-12-23
  • 2021-09-25
猜你喜欢
  • 2022-01-15
  • 2021-12-03
  • 2022-02-22
  • 2022-12-23
  • 2021-12-26
  • 2022-12-23
  • 2021-12-03
相关资源
相似解决方案