1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro ao salvar arquivo no SQL SERVER 2000

Olá, não tenho muita experiência no Java, e estou precisando salvar arquivos no banco de dados SQL SERVER 2000 (por questões de negócio, preciso realmente salvar no banco). Seguindo umas dicas que encontrei na internet, criei o campo com o tipo "image"(no SQL SERVER 2000 não tem o tipo BLOB) e estou usando o seguinte código :

Connection conn = ConnectionFactory.open();
PreparedStatement pstm = null;
String sql = "INSERT INTO BOLETIM (Data,NomeArquivoBoletim,ChaveEdicao,DataEdicao,Arquivo)"
            + " VALUES(?,?,?,?,?)";

try {
    pstm = conn.prepareStatement(sql);
    pstm.setDate(1, new java.sql.Date(boletim.getData().getTime()));
    pstm.setString(2, boletim.getNomeArquivoBoletim());
    pstm.setString(3, boletim.getChaveEdicao());

    java.sql.Timestamp currentTimestamp = new java.sql.Timestamp(new java.util.Date().getTime());
    pstm.setTimestamp(4, currentTimestamp);

    byte[] binary = boletim.getArquivo().getBytes();
    pstm.setBytes(5, binary);
    pstm.executeUpdate();

} catch (Exception e) {
    e.printStackTrace();
} finally {
    ConnectionFactory.close(conn, pstm, null);
}

Acontece que consigo salvar quando é um pdf, mas com .doc ou .xlsx, dá o seguinte erro :

cause    SQLException  (id=84)    
    cause    SQLException  (id=84)    
    detailMessage    "Line 1: Incorrect syntax near 'max'." (id=89)    
    next    SQLException  (id=93)    
    SQLState    "37000" (id=94)    
    stackTrace    null    
    vendorCode    170    
detailMessage    "Line 1: Incorrect syntax near 'max'." (id=89)    
    count    36    
    hash    0    
    offset    0    
    value    (id=133)    
next    SQLException  (id=93)    
    cause    SQLException  (id=93)    
    detailMessage    "Must declare the variable '@P4'." (id=138)    
    next    null    
    SQLState    "S1000" (id=139)    
    stackTrace    null    
    vendorCode    137    
SQLState    "37000" (id=94)    
    count    5    
    hash    0    
    offset    0    
    value    (id=143)    
stackTrace    null    
vendorCode    170

Alguém pode me dá um help ?! Desde já agradeço !

  • Sou DBA SQL Server. Você poderia postar o erro por completo.

    Krismorte   08 de out de 2015
  • Rodrigo, você pode acrescentar o seu método de inserção por completo? Incluindo a declaração sql.

    felipemartinsss   08 de out de 2015
  • Adicionei o erro e o método de inserção completo...

    Rodrigo Meireles   09 de out de 2015
  • Adiciona o texto da tabela. Tenta também substituir o tipo image por varbinary

    Krismorte   13 de out de 2015
  • Atualizei o jtds para a versão 1.3.1 e funcionou...valeu galera !

    Rodrigo Meireles   16 de out de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags arquivos ou faça a sua própria pergunta.