Erro: Dados de cadeia ou binários seriam truncados

Boa noite!!

Sou iniciante no Java e surgiu um erro no meu programa que nao consigo resolver.
Estou tentando inserir algumas informacoes em uma tabela (SQL Server) e está me aparecendo a mensagem “Dados de cadeia ou binários seriam truncados”.
Segue o codigo abaixo:

public void create(Funcionario f) {
Connection con = ConnectionFactory.getConnection();
PreparedStatement stmt = null;

    try {
        stmt = con.prepareStatement("INSERT INTO tblFuncionario (ID_Func, Nome_Func, CPF_Func, Endereco_Func, Email_Func, OBS_Func) VALUES (?, ?, ?, ?, ?, ?)");
        stmt.setInt(1, f.getIdFunc());
        stmt.setString(2, f.getNomeFunc());
        stmt.setString(3, f.getCpfFunc());
        stmt.setString(4, f.getEnderecoFunc());
        stmt.setString(5, f.getEmailFunc());
        stmt.setString(6, f.getObsFunc());
        
        stmt.executeUpdate();
        
        JOptionPane.showMessageDialog(null, "Salvo com sucesso!");
        
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Erro ao salvar: "+ex);
    }finally {
        ConnectionFactory.closeConnection(con, stmt);
    }
}

Se alguém puder me ajudar desde já agradeco.

Abraco.

1 curtida

O valor de algum dos campos que você está tentando atualizar excede o tamanho do campo na tabela. Exemplo: tentar atualizar um campo de 40 caracteres com um texto de 41 caractreres.

1 curtida

Boa tarde Mmassuda!!!

Matou a pau cara!!!
O campo que criei para armazenar o cpf estava apenas com 11 caracteres que são apenas os números. Como no Netbeans estou utilizando um campo formatado estava faltando os outros 3 caracteres que normalmente usamos para separar os números. Alterei a quantidade de caracteres no SQL Server e pronto. Resolvido!!!

Muito obrigado cara!!

Abraco.