Banco de Dados - Caché
Caché e JDBC
O driver JDBC do servidor Caché está no arquivo CacheJDBC.jar. Este arquivo pode ser encontrado no sub-diretório /java, dentro do direrório de instalação do Caché. Certifique-se que este arquivo está na variável de ambiente CLASSPATH antes de compilar ou executar suas aplicações.
por Equipe Linha de CódigoO driver JDBC
O driver JDBC do servidor Caché está no arquivo CacheJDBC.jar. Este arquivo pode ser encontrado no sub-diretório /java, dentro do direrório de instalação do Caché. Certifique-se que este arquivo está na variável de ambiente CLASSPATH antes de compilar ou executar suas aplicações. No Unix:
Listagem 1: Variável de ambiente CLASSPATH no Unix
CLASSPATH=/usr/local/cachesys/java/CacheJDBC.jar:$CLASSPATH export CLASSPATHNo Windows:
Listagem 2: Variável de de ambiente CLASSPATH no Windows
set CLASSPATH=c:\cachesys\java\CacheJDBC.jar;%CLASSPATH%
Carregando o driver JDBC
A primeira coisa a fazer é carregar o driver JDBC a ser utilizado. O nome da classe a ser carregada é com.intersys.jdbc.CacheDriver. Certifique-se que o arquivo CacheJDBC.jar está na variável de ambiente CLASSPATH. Caso contrário, o ClassLoader vai disparar uma ClassNotFoundException quando o programa for executado.
Listagem 3: Tratamento da exceção ClassNotFoundException
//java code try { Class.forName("com.intersys.jdbc.CacheDriver"); } catch (ClassNotFoundException ex) { System.out.println(ex.getMessage()); }
Após este passo, o driver está pronto para estabelecer conexões com o servidor Caché. Não é necessário criar uma instância do driver e registrá-lo no DriverManager. Isso é feito automáticamente quando a classe é carregada.
Estabelecendo uma conexão
O segundo passo é estabelecer uma conexão com o servidor Caché. O mais complicado de tudo isso é saber como montar a string de conexão, ou URL, que endereça o servidor; pois cada fabricante define como esta string deve ser montada.
A URL abaixo endereça um servidor Caché na máquia local, respondendo pela porta default, 1972; e ainda seleciona o namespace “User”.
Listagem 4: Endereço do servidor Caché
“jdbc:Cache://127.0.0.1:1972/User”
O segmento de código abaixo mostra como estabelecer uma conexão com o servidor Caché:
Listagem 5: Estabelecendo conexão com o servidor Caché
//java code String url = "jdbc:Cache://127.0.0.1:1972/User"; String user = "_SYSTEM"; String password= "SYS"; Connection conn = DriverManager.getConnection(url, user, password);
A conexão retornada pelo DriveManager é uma conexão estabelecida com o servidor Caché e pode ser utilizada para criar Statements JDBC e executar suas queries sobre o servidor Caché.
Um exemplo completo:
O programa abaixo abre uma conexão com o servidor Caché e executa uma query selecionando todas as colunas da tabela “Book”. O conteúdo de cada linha é impresso no sistema de saída padrão.
Listagem 6: Exemplo complete de uso do Caché
//java code import java.sql.*; public class ListBooks { //a string de conexão static final String url = "jdbc:Cache://127.0.0.1:1972/USER"; static { try { //carrega o driver Caché JDBC Class.forName("com.intersys.jdbc.CacheDriver"); } catch (ClassNotFoundException ex) { System.out.println(ex.getMessage()); } } public static void main(String[] args) { Connection conn = null; try { //abre conexão com o servidor Caché conn = DriverManager.getConnection(url,"_SYSTEM","SYS"); //cria um statement Statement stmt = conn.createStatement(); //executa o statement java.sql.ResultSet rs = stmt.executeQuery("select author, title, isbn from Book"); //percorre o result set listando as linhas selecionadas while (rs.next()) { System.out.println(rs.getString(1) + "," + rs.getString(2) + "," + rs.getString(3)); } //fecha resultset e statement rs.close(); stmt.close(); } catch (SQLException ex) { System.out.println("error:" + ex.getMessage()); } finally { try { //fecha conexão com o servidor Caché conn.close(); } catch (SQLException ignored) {} } } } //ListBooks Código fonte: ListBooks.java
Veja que fechamos a conexão detro de um bloco finally. Isso garante sempre será fechada e os recursos do servidor Caché liberados.
Caricio Afonso Junior Sales Engineer cafonso@intersys.com InterSystems do Brasil Edifício Berrini 500 Praça Prof. José Lannes, 40 10o Andar - Brooklin Novo 04571-100 - São Paulo - SP Fone: (11) 5501 5100 Fax: (11) 5501 5101 Call Center: 0800 888 22 00 www.intersystems.com.br