Erro ao executar uma procedure

Ola pessoal

Tenho uma procedure com 7 parâmetros criada no SQL Server 2008. Essa procedure faz um “select” porém está parando na linha:

" ResultSet rs = callable.executeQuery(); ": Veja essa linha abaixo:

[b]
public Vector PesquisarAgenda(Agenda objAgenda) throws SQLException
{
Conexao conexao = new Conexao();
Vector linhas = new Vector();

      CallableStatement callable = conexao.getConexao().prepareCall("{call pesquisaragenda(?,?,?,?,?,?,?)}");

    ResultSet rs = callable.executeQuery();

         while(rs.next())
        {
            objAgendaPesquisa = new AgendaPesquisa();
            objAgendaPesquisa.setDoutor(rs.getString("doutor"));
            objAgendaPesquisa.setNome(rs.getString("nome"));
            objAgendaPesquisa.setData(rs.getDate("data"));
            objAgendaPesquisa.setHora(rs.getString("hora"));
            objAgendaPesquisa.setTipoagendamento(rs.getString("tipoagendamento"));
            objAgendaPesquisa.setStatus(rs.getString("status"));
            
            
            Vector novalinha = new Vector();
            novalinha.addElement(objAgendaPesquisa.getDoutor());
            novalinha.addElement(objAgendaPesquisa.getNome());
            novalinha.addElement(objAgendaPesquisa.getData());
            novalinha.addElement(objAgendaPesquisa.getHora());
            novalinha.addElement(objAgendaPesquisa.getTipoagendamento());
            novalinha.addElement(objAgendaPesquisa.getStatus());
            
            linhas.addElement(novalinha);

        }
    return linhas;

}
[/b]

O que pode ser ?

Qual é o erro?

onde que esta sendo passado os valores dos 8 parametros?

O objeto está pegando os valores dos campos conforme abaixo:

objAgendaPesquisa = new AgendaPesquisa();

objAgendaPesquisa.setDoutor(jcbAg_PesquisaDoutor.getSelectedItem().toString());
objAgendaPesquisa.setNome(jcbAg_PesquisaPaciente.getSelectedItem().toString());
objAgendaPesquisa.setDatainicial(jftAg_PesquisaDataInicial.getDate());

objAgendaPesquisa.setDatafinal(jftAg_PesquisaDataFinal.getDate());
objAgendaPesquisa.setTipoagendamento(jcbAg_PesquisaTipo.getSelectedItem().toString());
objAgendaPesquisa.setHora(jftAg_PesquisaHora.getText());
objAgendaPesquisa.setStatus(jcbAg_PesquisaStatus.getSelectedItem().toString());

Estou desconfiando da data, pois no objeto a data de 04/08/2011 está como : " Thu Aug 04 21:42:32 BRT 2011 "

Minha Procedure criada no banco SQL SERVER 2008:


ALTER PROCEDURE pesquisaragenda(
@doutor varchar(30),
@nome nvarchar(max),
@datainicial date,
@datafinal date,
@hora varchar(5),
@tipoagendamento varchar(10),
@status varchar(15)
)
as
begin
SELECT doutor, nome, data, hora, tipoagendamento, status
FROM agenda
WHERE
( doutor = @doutor or @doutor is null )
AND ( nome = @nome or @nome is null )
AND ( data >= @datainicial or @datainicial is null )
AND ( data <= @datafinal or @datafinal is null )
AND ( hora = @hora or @hora is null )
AND ( tipoagendamento = @tipoagendamento or @tipoagendamento is null )
AND ( status = @status or @status is null )
end

A mensagem de erro é essa abaixo:

GRAVE: null
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Campo COUNT incorreto ou erro de sintaxe