请教各位大侠在使用T-SQL时能否动态地判断一个ACCESS文件是否存在,如果存在则删除重新生成,如果不存在则直接生成。

解决方案 »

  1.   

    --在D盘根目录下创建一个名为'Test.mdb'的文件: declare @hr int 
    declare @object int 
    declare @property int exec @hr = sp_OACreate 'ADOX.Catalog' , @object OUTPUT exec @hr = sp_OAMethod @object , 'Create', @property output, 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test.mdb'
      

  2.   

    --删除D:\Test.mdb
    declare @retval int,@param1 intexecute @retval=master..xp_fileexist 'd:\test.mdb', @param1 output 
    if @param1 = 0
    begin
    print 'file does not exist!'
    end
    else
    begin
    print 'file exists!'
    exec master..xp_cmdshell 'del d:\test.mdb'
    end
    go
    --在D盘根目录下创建一个名为'Test.mdb'的文件: declare @hr int 
    declare @object int 
    declare @property int exec @hr = sp_OACreate 'ADOX.Catalog' , @object OUTPUT exec @hr = sp_OAMethod @object , 'Create', @property output, 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test.mdb'