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ódigo



O 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 CLASSPATH
No 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

Equipe Linha de Código

Equipe Linha de Código