Java Store Procedure p/Classe de Compactação

5 respostas
skynewgp

Pessoal, como faço para criar uma stored procedure para esta classe de compactação utilizando o banco Oracle com PL/SQL?Alguém tem algo para me ajudar?

import java.io.*;
import java.util.zip.*;
public class Compress {
    public static void doit( String filein,  String fileout ){
      
      FileInputStream fis = null;
      FileOutputStream fos = null;

      try {
               fis = new FileInputStream(filein);
               fos = new FileOutputStream(fileout);
               ZipOutputStream zos = new ZipOutputStream(fos);
               ZipEntry ze = new ZipEntry(filein);
               zos.putNextEntry(ze);
               final int BUFSIZ = 4096;
               byte inbuf[] = new byte[BUFSIZ];
               int n;
  
 while ((n = fis.read(inbuf)) != -1)
               zos.write(inbuf, 0, n);
               fis.close();
               fis = null;
               zos.close();
               fos = null;
      }

      catch (IOException e) { System.err.println(e); }

      finally {
                   try {
                             if (fis != null)   fis.close();
                             if (fos != null)  fos.close();
                        }
      catch (IOException e) {     }
      }
    }
  public static void main(String args[]) {
    Compress.doit("C://pasta/arquivo.txt","C://pasta/arquivo.zip");
  }
  }

5 Respostas

T

O seu problema não é Java e sim Java Stored Procedures, certo? Sua rotina parece estar funcionando direitinho, a menos dos nomes dos arquivos. Portanto você precisa aprender como instalar uma classe no Oracle.

Nada como consultar a documentação (em http://www.oracle.com/technology/tech/java/jsp/index.html ).

a) Será que essa seria a solução mais adequada para seu problema (fazer o banco compactar um arquivo?)
b) O administrador do seu banco Oracle sabe que você está querendo fazer esse crime (gastar trilhões de ciclos de CPU compactando um arquivo na máquina do Oracle?)

skynewgp

Tens razão! Estou apredendo agora Java Stored Procedure!
E quanto ao crime…é meu superior que deseja que eu faça esse tipo de aplicação!

plentz

skynewgp:
Tens razão! Estou apredendo agora Java Stored Procedure!
E quanto ao crime…é meu superior que deseja que eu faça esse tipo de aplicação!

A menos que você queria deixar alguém furioso no futuro, ou que seu superior seja o DBA, seria uma boa você comunicar quem realmente administra o banco sobre isso.

skynewgp

Falou!!!
E o que vcs acham de uma procedure p/envio de arquivos via FTP?
Vale a pena???

plentz

É menos sofrível do que a idéia da compactação, mas não deixa de estar errado. Não é legal acumular muito processamento na máquina que roda o banco de dados. Se possível, o ideal seria criar uma aplicaçãozinha só para fazer estes pequenos serviços.

Criado 20 de junho de 2005
Ultima resposta 22 de jun. de 2005
Respostas 5
Participantes 3