Manipular arquivo no banco de dados

2 respostas
P

Boa tarde a todos,

Alguém poderia me ajudar mostrando algum exemplo de código que leia e grave um arquivo, tipo word, no banco de dados.  criei uma tabela de exemplo no SQL Server 2008, no Java a minha classe que representa esta entidade ficou deste jeito:
@Entity

@Table(name = Arquivo)

@NamedQueries({

@NamedQuery(name = Arquivo.findAll, query = SELECT a FROM Arquivo a),

@NamedQuery(name = Arquivo.findByArqCodigo, query = SELECT a FROM Arquivo a WHERE a.arqCodigo = :arqCodigo),

@NamedQuery(name = Arquivo.findByArqDescricao, query = SELECT a FROM Arquivo a WHERE a.arqDescricao = :arqDescricao)})

public class Arquivo implements Serializable {

private static final long serialVersionUID = 1L;

@Id

<a class="mention" href="/u/basic">@Basic</a>(optional = false)

@Column(name = “arq_codigo”)

private Integer arqCodigo;

@Column(name = “arq_descricao”)

private String arqDescricao;

    <a class="mention" href="/u/lob">@Lob</a>

@Column(name = “arq_arquivo”)

private byte[] arqArquivo;

2 Respostas

A

Poste sua classe Action… Você já começou ela?

P
Estou fazendo assim, não sei se é a melhor solução:

    Arquivo arq = new Arquivo();
    File file = new File("c:\\teste.doc");
    byte[] fileBArray = new byte[(int)file.length()];
    FileInputStream fis;
    try {
        fis = new FileInputStream(file);
        try {
            fis.read(fileBArray);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    } catch (FileNotFoundException ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }

    FileOutputStream fos;
    try {
        fos = new FileOutputStream("C:\\teste2.doc");
        try {
            fos.write(fileBArray);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    } catch (FileNotFoundException ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }

    arq.setArqCodigo(3);
    arq.setArqDescricao("teste.doc");
    arq.setArqArquivo(fileBArray);
    persist(arq);
Criado 14 de fevereiro de 2011
Ultima resposta 14 de fev. de 2011
Respostas 2
Participantes 2