我现在想用sql语句实现将文件夹中的所有文件删除,不使用xp_cmdshell,好像sp_oamethod能实现,但我不知道怎么写,哪位高人帮帮

解决方案 »

  1.   

    1.创建一个dll,proj为K,其中有一类ki,类中有一函数 Kil(path)2.创建存储过程
    create proc pro_tt
    @path varchar(100)
    asDECLARE @object int
    DECLARE @hr int
    DECLARE @src varchar(255), @desc varchar(255)
    EXEC @hr = sp_OACreate 'K.ki', @object OUT
    IF @hr <> 0
    BEGIN
       EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
       SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
       RETURN
    END
    print @path
    exec @hr=sp_OAMethod @object,'Kil',null,@path
    IF @hr <> 0
    BEGIN
       EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
       SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
       RETURN
    END
    exec sp_oadestroy @object
    3.执行存储过程
    exec pro_tt 'd:\a\*.*'
      

  2.   

    有没有其他方法,我不想通过建dll实现。能不能通过sp_OACreate直接删除马