Bom dia !!
Bom ja dei uma procurada no forum e nao conseguir achar o uso da classe CallebleStatement com Sql Server , por isso estou abrindo um tópico …
Vamos la …
O problema é o seguinte : Não estou conseguindo chamar uma procedure no banco para me retornar um resultado .
como exemplo estou setando um parametro e recebendo dois , portante são 3 parametros , só que o tipo da variavel que o Sql Server retorna eu acho que é String , na classe “JavaTypes” do driver sqljdbc4.jar diz que é String , porém não consigo setar esse tipo . Somente outros como Varchar , Nvarchar etc …
Segue o codigo de exemplo …
public void selectDadosSQL(Cliente cliente)
{
private Connection connect; // Connecta com o SQL
private CallableStatement stmt;
try
{
// o tipo é String , porem nao consigo setar ...
getStrConnLocadora(); // metodo que abre minha conexao com o banco.
stmt = connect.prepareCall("{call pr_Cliente_sel(?,?,?)}");
stmt.setString(1, cliente.getNomeCliente());
stmt.registerOutParameter(2,Types.String ); // eu nao consigo usar o tipo String , nao aparece como opção , porem na class "JavaTypes"
stmt.registerOutParameter(3,Types.String);
stmt.execute();
cliente.setNomeCliente(stmt.getString(2));
cliente.setCpf(stmt.getString(3));
stmt.close();
connect.close();
}
catch (SQLException e)
{
System.out.println("Erro" +e.getMessage());
}
}
}
Caso eu esteja errado com meu raciocionio … qual seria o valor correta a ser registrado ?? Varchar , LOngvarchar ??
Vlws aew !!