Banco de Dados - Caché
Caché e JDBC
por Equipe Linha de Código
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:
CLASSPATH=/usr/local/cachesys/java/CacheJDBC.jar:$CLASSPATH export 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.
//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”.
“jdbc:Cache://127.0.0.1:1972/User”
O segmento de código abaixo mostra como estabelecer uma 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.
//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.
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







