Acessando BD com JDBC O JDBC é o Java Database Connectivity - um conjunto de classes de bancos de dados relacionais e métodos para integração com fontes de dados. JDBC não assume nada sobre a fonte de dados subjacente ou sobre o esquema de armazenamento de dados. JDBC é baseado na X/Open SQL Call Level Interface(CLI), mesma do ODBC. Funcionamento do JDBC Um programa Java abre primeiro uma conexão com o banco de dados. Faz a instanciação de um objeto. Passa as instruções SQL para o DBMS por meio do objeto instanciado. Acessa os resultados, assim como as informações sobre os conjuntos de resultados. Funcionamento do JDBC Aplicativo Java API JDBC Gerenciador de driver JDBC API do driver JDBC Ponte JDBC/ODBC Driver ODBC Banco de dados Driver JDBC proprietário Banco de dados Funcionamento do JDBC As classes JDBC estão no pacote java.sql Os programas em Java usam objetos e métodos deste pacote para ler e escrever de uma fonte de dados. Um programa que usa JDBC necessitará de um driver para a fonte de dados. JDBCODBC.DLL para o windows. Acessando BD ODBC com a ponte JDBC-ODBC A ponte JDBC-ODBC é implementada como JdbcOdbc.class e uma biblioteca nativa para acessar o driver ODBC(JDBCODBC.DLL). A vantagem desta ponte é que o JDBC pode acessar quase todos os bancos de dados. Os drivers ODBC estão amplamente disponíveis. ODBC é uma fina camada sobre o JDBC. Classes JDBC A classe superior na hierarquia é a DriverManager. O JDBC identifica um banco de dados com um URL: jdbc:odbc:<ODBC DSN>:User=<username>:PW=<password> DriverManager retorna um objeto Connection quando se usa o método getConnection(). Classes JDBC Cria-se os objetos Statement ou PreparedStatement ou CallAbleStatement. Quando o método executeQuery() é executado, um objeto ResultSet é retornado. O ResultSet contém linhas de dados que são analisadas com o método next(). O método executeUpdate() faz atualizações e exclusões e retorna o número de linhas afetadas. Aplicativo JDBC Uma instrução SQL pode ser executada imediatamente(objeto Statement). Uma instrução SQL pode ser compilada(objeto PreparedStatement). Uma instrução SQL pode ser uma chamada para um procedimento armazenado(objeto CallAbleStatement). Aplicativo JDBC Qdo o método executeQuery() é executado, um objeto ResultSet é retornado. O ResultSet contém linhas de dados que são analisadas com o método next(). As instruções SQL, como as de atualização e exclusão retornam um número inteiro que denota o número de linhas afetadas. Para essas instruções, o método executeUpdate() é utilizado. Acesso ao BD O acesso a um banco de dados pode ser feito por meio do JDBC e da ponte JDBC-ODBC. Precisa-se configurar uma fonte de dados ODBC. O método getConnection() requer um nome de fonte de dados(DSN), ID do usuário e senha para a fonte de dados ODBC. O programa ODBC setup permite que se configure a fonte de dados. Configuração ODBC Instalar o driver ODBC do Interbase. Configurar uma fonte de dados ODBC: Criar um BD com tabelas relacionais Identificar usuário/password Especificar um nome para a fonte de dados Indicar o caminho para o arquivo bd (*.gdb) Acrescentar na classpath o caminho para a ponte JDBC-ODBC (JdbcOdbc.dll).