none
Criar e excluir diretório/pasta no Windows Explorer RRS feed

  • Pergunta

  • Olá pessoal,

    Preciso criar e excluir diretórios no Windows Explorer através do Sql, creio ser muito simples,mas preciso da ajuda de vcs!:)

    Obrigada!!!! 

    quarta-feira, 21 de setembro de 2011 16:50

Respostas

Todas as Respostas

  • Paula,

     

    Simples é, mas voce precisara de um usuario com uma permissão alta.

    O COmando xp_Cmdshell lhe pemite executar comando do dos atravez do SQL Server, e como se excluir pastas por DOS, é possivel sim....

    xp_cmdshell 'del Folder/Folder/Folder'


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Paula_Moura quarta-feira, 21 de setembro de 2011 17:54
    quarta-feira, 21 de setembro de 2011 17:19
    Moderador
  • Deleted
    • Marcado como Resposta Paula_Moura quarta-feira, 21 de setembro de 2011 17:54
    quarta-feira, 21 de setembro de 2011 17:31
  • Boa Tarde,

    De fato é relativamente simples de fazê-lo e o código postado pelo Fabrizzio é uma das possibilidades. Agora vamos pensar um pouco sobre a exclusão de diretórios via SQL.

    Inicialmente, um banco de dados deve efetuar as tarefas as quais foi destinado, ou seja, leitura e gravação de dados. Uma tarefa como exclusão de pastas, não é algo relacionado às atividades fim de um banco de dados, então não entendo porque deve competir a ele efetuar tal tarefa. Será que seria correto solicitar que o SQL Server faça a criação e exclusão de pastas, o envio de arquivos via FTP ou tantas outras tarefas que distoam do que ele realmente deve fazer ?

    Ignorando o parágrafo anterior e supondo que seja realmente uma boa idéia que o SQL Server faça a criação e exclusão de pastas. O primeiro ponto é que a conta de serviço do SQL Server terá que ter permissões mais elevadas para efetuar essa criação e exclusão de pastas e talvez isso não seja desejável. Se esse SQL Server for comprometido, aquele que o invadiu poderá efetuar criação e exclusão de pastas, já que o SQL Server pode fazê-lo. Isso é um furo de segurança em potencial.

    O problema irá aumentar se essas pastas não estiverem localizadas no mesmo servidor. Aí precisaremos dar permissão para que o SQL Server possa criar pastas remotamente em outros locais (servidores e workstations) e caso o SQL Server seja comprometido, o estrago em potencial é ainda maior. Permitir que o SQL Server acesse outros servidores externos para criação e exclusão de pastas também é uma grande porta de entrada para disseminação de vírus caso o servidor de banco venha a ficar infectado.

    Por essas e outras que em princípio eu não apostaria em utilizar o SQL Server para criar e excluir pastas, mas enfim... Se tiver de ser feito, a xp_cmdshell é um caminho (com vários outros problemas associados).

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 21 de setembro de 2011 17:34
  • Na verdade não expliquei direito!

    Preciso excluir um arquivo de um diretório do Windows!!!

    Agradeço desde já! :)

    []'s

    quarta-feira, 21 de setembro de 2011 17:48
  • Paula,

     

    O processo é o mesmo e as validações as mesmas do Gustavo.

    Veja que o xp_cmdshell habilita voce a executar comandos do DOS dentro do SQL Server, então, até um format D:\ sera valido, quem dira a exclusão de um arquivo... rs...


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quarta-feira, 21 de setembro de 2011 17:51
    Moderador
  • Agradeço todos pelas respostas!!!

    Obrigada mesmo!

    :))

    quarta-feira, 21 de setembro de 2011 17:56