Gravando valores monetários no sql server

OLá pessoal, estou com o seguinte problema, estou construindo uma aplicação cujo acesso aos dados é feito com jdbc, não estou usando hibernate.

ao salvar valores monetários…

observem o código
setando o valor do produto
item.getProdutoDTO.setValorProduto(“1.500,05”);

StringBuffer sql = new StringBuffer();

sql.append(" INSERT INTO tbMobilePedidoItem");
sql.append(" ( ");
sql.append("Num_item ");
sql.append(",");
sql.append("Num_docto");
sql.append(",");
sql.append("Observacao");
sql.append(",");
sql.append("Quantidade");
sql.append(",");
sql.append("Cod_produto");
sql.append(",");
sql.append("Cod_unidade");
sql.append(",");
sql.append("Cod_ref");
sql.append(",");
sql.append("Valor");
sql.append(" ) ");
sql.append(" VALUES ");
sql.append(" ( ");
item.setIdItem("4");
sql.append(item.getIdItem());
sql.append(",");
sql.append(item.getIdPedido());
sql.append(",");
sql.append("'" + item.getObservacao() + "'");
sql.append(",");
item.setQuantidade(item.getQuantidade().replaceAll(",", "."));
sql.append("'" + item.getQuantidade() + "'");
sql.append(",");
sql.append(item.getProdutoDTO().getCodProduto());
sql.append(",");
sql.append("'" + item.getProdutoDTO().getCodUnidade() + "'");
sql.append(",");
sql.append("'" + item.getProdutoDTO().getCodRef() + "'");
sql.append(",");
item.getProdutoDTO().setValorProduto(item.getProdutoDTO().getValorProduto().replaceAll(",", "."));

sql.append(new BigDecimal(item.getProdutoDTO().getValorProduto()).setScale(2));

sql.append(" )");

Conexao conexao = new Conexao();

Statement st = conexao.getConnection().createStatement();

st.executeUpdate(sql.toString());

não consigo gravar…

lanca a exeção…

java.lang.NumberFormatException

estou usando o banco sqlServer da microsoft…

o campo valor no banco de dados é tipo Decimal(15,4)

quem ja teve este problema qual abordagem voces utilizaram ?

a formatação do ponto flutuante não pode ser com “,”, deve-se usar o “.”.

o erro ocorre nesse momento:

veja