110 likes | 194 Views
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.
E N D
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 JDBC proprietário Driver ODBC Banco de dados 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).