DB2 Express-C é um banco de dados relacional que pode ser usado para armazenar, usar e modificar dados. O Java Database Connectivity (JDBC) padrão é usado por aplicativos Java para acesso e manipulação de dados em bancos de dados relacionais.
JDBC é um protocolo de acesso de banco de dados que permite que você se conecte a um banco de dados e execute instruções SQL e consultas no banco de dados. As bibliotecas de classe do núcleo de Java fornecem as APIs JDBC, java.sql e javax.sql. No entanto, JDBC é projetado para permitir que os vendedores forneçam drivers que oferecem a especialização necessária para um banco de dados específico.
String de Conexão
Em computação, uma string de conexão, é uma cadeia de caracteres que especifica informações sobre uma fonte de dados e os meios de conexão com ela. É passado o código para um controlador (driver) ou provedor subjacente com o objetivo de se iniciar a conexão. Apesar de comumente ser usado para conexão de banco de dados, a fonte de dados também pode ser uma planilha eletrônica ou um arquivo de texto.
DB2: //localhost:50000/sample (//servidor:porta/banco de dados)
Configurando Driver JDBC DB2
Para usar o driver JDBC para DB2 você pode adiciona-lo em seu projeto, clicando com o botão direito do mouse em cima do nome do projeto e escolhendo a opção propriedades, adicione o arquivo de driver na biblioteca do seu projeto usando a opção Add External JAR, a figura abaixo ilustra como efetuar este procedimento na IDE Eclipse:
Diretório: C:\Program Files\IBM\SQLLIB\java
Driver:
- db2jcc.jar
- db2jcc_license_cu.jar
The Derby network
O cliente da rede do Derby fornece conectividade de rede para o Derby Network Server. O IBM DB2 utiliza um driver universal que pertence a Apache Derby.
Exemplo:
Neste exemplo usamos o driver JDBC DB2 para efetuar uma conexão no banco de dados, para criar o banco de dados você pode usar nosso walkthrough de como instalar as o banco de dados IBM DB2 Express-C e a ferramenta IBM Data Studio.
Java
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class ConexaoDb2 implements ActionListener
{
// Declara componentes
private JLabel ltitulo;
private JLabel lusuario;
private JLabel lsenha;
private JTextField tusuario;
private JPasswordField tsenha;
private JButton botao;
private JFrame menssagem;
// Declara objetos de conexão
private Connection conn;
private Statement query;
public Container criaPainel()
{
// Cria painel principal
JPanel painel = new JPanel();
painel.setLayout(new BorderLayout());
painel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
// Cria componente titulo
ltitulo = new JLabel("DB2 Express-C: net://localhost:50000/deva");
painel.add(ltitulo, BorderLayout.PAGE_START);
// Cria painel de usuario
JPanel painelDados = new JPanel(new GridLayout(0, 2, 10, 10));
// Cria componentes de usuario
lusuario = new JLabel("Digite seu Usuario: ");
lsenha = new JLabel("Digite sua Senha: ");
tusuario = new JTextField();
tsenha = new JPasswordField();
// Define tamanho dos campos
tusuario.setPreferredSize( new Dimension(120, 20));
tsenha.setPreferredSize( new Dimension(120, 20));
// Adiciona componentes no grid do painel
painelDados.add(Box.createVerticalStrut(10));
painelDados.add(Box.createVerticalStrut(10));
painelDados.add(lusuario);
painelDados.add(tusuario);
painelDados.add(lsenha);
painelDados.add(tsenha);
painelDados.add(Box.createVerticalStrut(10));
painelDados.add(Box.createVerticalStrut(10));
// Cria botão
botao = new JButton("Conectar");
botao.addActionListener(this);
// Adiciona componentes no painel principal
painel.add(painelDados);
painel.add(botao, BorderLayout.PAGE_END);
return painel;
}
public static void criaGUI()
{
// Cria formulario
JFrame formulario = new JFrame("DB2 Express-C");
formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// cria classe da conexão
ConexaoDb2 conectar = new ConexaoDb2();
// Define painel
formulario.setContentPane(conectar.criaPainel());
formulario.pack();
// Mostra aplicação
formulario.setVisible(true);
}
public void conectar(String login, String senha) {
try
{
// Define Driver de conexão JDBC thin
Class.forName("com.ibm.db2.jcc.DB2Driver");
conn = DriverManager.getConnection("jdbc:derby:net://localhost:50000/deva", login, senha);
//Executa pedido SQL
query = conn.createStatement();
JOptionPane.showMessageDialog(menssagem, "Conexão Efetuada com sucesso!");
}
catch (ClassNotFoundException ex)
{
ex.printStackTrace();
}
catch (SQLException ex)
{
JOptionPane.showMessageDialog(menssagem, "Erro na conexão!");
ex.printStackTrace();
}
}
public void actionPerformed(ActionEvent arg0)
{
// Verfica tamanho da senha
char[] tamanho = tsenha.getPassword();
if (tamanho.length == 0)
{
JOptionPane.showMessageDialog(menssagem, "Digite uma senha!");
}
else
{
// recupera senha do Java Password Field
String psenha = new String(tsenha.getPassword());
//Cria conexão
ConexaoDb2 conecta= new ConexaoDb2();
conecta.conectar(tusuario.getText() , psenha);
}
}
public static void main(String[] args)
{
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Cria e exibe GUI
criaGUI();
}
});
}
}



