Conexão IBM DB2 Express-C – JDBC – Java

Publicado: 7 de maio de 2014 em Java

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.

DB2 - Java

DB2 – Java

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:

DB2 - JDBC

DB2 – JDBC

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();

			}
		});      

	}
}

 

Publicidade

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s