Conexão com o Banco de Dados

1 resposta
R

Colegas!

Estou utilizando o netbeans para fazer a conexão com o banco em um exemplo do IReport
Quando tento compilar o codigo ele me traz o seguinte erro:

deps-clean:
Deleting directory H:\Documents and Settings\Ronaldo\Meus documentos\Projetos\Implementacao\SisPETAPP\build
clean:
init:
deps-jar:
Created dir: H:\Documents and Settings\Ronaldo\Meus documentos\Projetos\Implementacao\SisPETAPP\build\classes
Compiling 81 source files to H:\Documents and Settings\Ronaldo\Meus documentos\Projetos\Implementacao\SisPETAPP\build\classes
H:\Documents and Settings\Ronaldo\Meus documentos\Projetos\Implementacao\SisPETAPP\src\Camadas\Persistencias\DAOs\Relatorios\DAORelatorios.java:46: illegal start of type
try {
1 error
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

O que pode estar gerando este erro?
Obrigado pelo apoio

InputStream inputStream = getClass().getResourceAsStream( "/LocomotivasReport.jasper" );

    // mapa de parâmetros do relatório (ainda vamos aprender a usar)
    Map parametros = new HashMap();

    try {
        try {
            // abre o relatório
            ReportUtils.openReport("LocomotivasReport", inputStream, parametros,
                    ConnectionFactory.getSisPETConnection());
        } catch (JRException ex) {
            Logger.getLogger(DAORelatorios.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(DAORelatorios.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Método que apresenta o erro

public static void openReport(
            String titulo,
            InputStream inputStream,
            Map parametros,
            Connection conexao ) throws JRException {

        /*
         * Cria um JasperPrint, que é a versão preenchida do relatório,
         * usando uma conexão.
         */
        JasperPrint print = JasperFillManager.fillReport(
                inputStream, parametros, conexao );

        // abre o JasperPrint em um JFrame
        viewReportFrame( titulo, print );

    }
Fabrica de conexões.
public class ConnectionFactory {
    /*
    * Este bloco estático será executado assim que esta classe for carregada,
    * sendo assim, será executado apenas uma vez.
    */
    static {
        try {
            /*
             * Carrega a classe com.mysql.jdbc.Driver, que é a implementação
             * do driver JDBC para o MySQL.
             */
            Class.forName( "org.apache.derby.jdbc.EmbeddedDriver" );
             // caso a classe não seja encontrada
        } catch ( ClassNotFoundException exc ) {
             /*
             * Como log usaremos o stacktrace das excessões, mas recomendo
             * que para um projeto real você utilize algum mecanismo de log
             * melhor, como o Log4J por exemplo.
             */
            exc.printStackTrace();
        }
     }

    /**
    * O método getConnection retorna uma conexão com o banco de dados baseado
    * nos parâmetros fornecidos.
    *
    * @param url O endereço da base de dados.
    * @param usuario O usuário que tem permissão na base de dados especificada.
    * @param senha A senha do usuário especificado
    * @return Uma conexão com o banco de dados especificado na url.
    * @throws SQLException Caso ocorra algum problema durante a conexão.
    */
    public static Connection getConnection(
        String url,
        String usuario,
        String senha ) throws SQLException {

        // retorna a conexão a partir do método getConnection de DriverManager
        return DriverManager.getConnection( url, usuario, senha );

    }

    /**
    * Obtém uma conexão para a base de dados sakila.
    *
    * @return Uma conexão para a base de dados sakila.
    * @throws SQLException Caso ocorra algum problema durante a conexão.
    */
    public static Connection getSisPETConnection() throws SQLException {

        String strConexao = "jdbc:derby:H:/Documents and Settings/Ronaldo/Meus documentos" +
             "/Projetos/Implementacao/Banco de Dados/SisPETJDB";
        return getConnection(strConexao, "", "");

    }
}

1 Resposta

edu_fernandes

O HashMap deveria estar no try. Ao menos sempre faço isso.
Outra coisa.
Todo try deve ter um catch.
Ao menos pelo que vejo o primeiro try está sem um catch para ele.
E por que dois try’s?
Espero ter ajudado.
Boa sorte com o projeto.

Criado 4 de dezembro de 2010
Ultima resposta 5 de dez. de 2010
Respostas 1
Participantes 2