Restringir tamanho do Blob

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Maikew
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Qua, 18 Jan 2012 8:55 am

Tenho que restringir o tamanho de uma imagem a ser inserida num campo Blob de uma tabela. Tenho como fazer isso?

Obrigado
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Olá Maikew,

Receio que não seja possível, a nível de programação PL/SQL, impedir que um campo BLOB seja atualizado com uma imagem acima de um determinado tamanho.

Dependendo do seu banco de dados (ex: ENTERPRISE), talvez seja possível você elaborar uma procedure JAVA de banco de dados que avalie o tamanho do arquivo de imagem no sistema operacional. Ou então você consiga desenvolver algum scritp JAVASCRIPT para identificar o tamanho do arquivo que você deseja carregar.

Esta consistência deve ser feita antes de se executar o upload da imagem no banco de dados.

Talvez os outros foristas possam lhe apresentar outras opções para seu problema.

Atenciosamente,

Sergio Coutinho
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Só complementando a dica do nosso amigo Coutinho, eu creio que talvez também dê pra você controlar isso numa trigger de BEFORE INSERT/UPDATE, utilizando o pacote DBMS_LOB, função GETLENGTH.

Dá uma olhada na documentação da própria Oracle, talvêz, além da ajuda do Coutinho, esse link possa auxiliá-lo também:

http://docs.oracle.com/cd/B19306_01/app ... tm#i998484
Maikew
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Qua, 18 Jan 2012 8:55 am

Obrigado, realmente usando o dbms_lob consigo fazer a validação que eu queria. Obrigado :-o
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Google Adsense [Bot] e 3 visitantes