alt=capaSQL12.JPG hspace=0 src="/loja/img/Capa_SQL35_G.gif" border=0>

Clique aqui para ler todos os artigos desta edição

Conectando Java em ambientes Linux ao SQL Server 2000

 

Um dos grandes problemas enfrentados por muitos desenvolvedores Linux é o acesso a bases de dados SQL Server. Neste artigo demonstrarei a utilização do driver JDBC (ler Nota 1) fornecido pela Microsoft, o qual possibilita o acesso ao SQL Server 2000 em plataformas não Windows usando Java. Para demonstrar a utilização do driver, vamos criar uma aplicação simples que nos permitirá submeter comandos SQL ao banco de dados e ter o resultado apresentado em uma JTable. O ambiente de desenvolvimento que vamos utilizar é o NetBeans 5, e o JDK utilizado para rodar a aplicação é o JDK 5, lembrando que tanto faz desenvolver a aplicação em ambiente Linux ou Windows, já que as classes Java podem rodar em qualquer uma das plataformas. Prefiro escrever a aplicação no Linux, pois considero que o NetBeans tem uma performance melhor quando executado neste sistema operacional.

 

 

Classes de acesso a um banco de dados

As classes fundamentais para acesso da JDBC são: Connection, Statement e ResultSet. Abaixo descrevemos cada uma delas:

·         Connection: é a classe principal, que efetua e mantém uma conexão com o banco de dados;

·         Statement: é a classe que realiza todas as instruções SQL. Todas as consultas enviadas ao banco de dados são feitas por esta classe, e seus principais métodos são: executeQuery(), execute(), e executeUpdate(). O método executeQuery() é utilizado para obter um conjunto de registros de uma tabela. O método executeUpdate() é utilizado para executar instruções que fazem atualização dos dados, e o método execute() é utilizado quando não se sabe se a instrução a ser executada é uma consulta ou atualização no banco de dados.

·         ResultSet: é a classe que representa um conjunto de registros retornados pela execução do método executeQuery() da classe Statement. Este conjunto de registros pode ser atualizável e pode mover-se em todas as direções ou não, isto depende de como a classe Statement foi criada. Esta classe tem um método simples que permite que ResultSets criados a partir dela sejam estáticos e movam-se somente para frente (exemplo: do registro 1 para 2, para 3, para n). Porém, existe um método que permite que o conjunto de registros seja atualizável e possa movimentar- se em qualquer direção (exemplo: registro 1 para 2, para 7, para 4, etc). Veja o exemplo na Listagem 1. Na linha 1 temos a criação de um Statement simples, os ResultSets criados a partir deste Statement serão estáticos. Nas linhas 4 e 5 temos a criação de um Statement utilizando o método createStatement com parâmetros, os ResultSets criados a partir deste Statement poderão sofrer atualizações e poderão mover-se em qualquer direção.

 

Listagem 1. Código de consulta atualizável e não atualizável.

 

1 Statement stmt = cn.createStatement();

/* Método simples, conjunto de registros obtidos não 2 é atualizável

e só pode mover-se para frente (método next()) */

3

4 Statement stmt =

5 cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.

...

Quer ler esse conteúdo completo? Tenha acesso completo