Oracle Database XE é 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.
Oracle JDBC Thin Driver
A Oracle recomenda usar o driver JDBC Thin para a maioria das necessidades. JDBC-OCI só necessário para recursos específicos de OCI. O driver Thin irá funcionar em qualquer sistema que tenha uma máquina virtual Java (JVM).
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.
Oracle TNS Names
É um arquivo Net de configuração que define endereços de bancos de dados para estabelecer conexões com eles. Cada conexão criada por exemplo no Oracle SQL Developer ou qualquer outra ferramenta de desenvolvimento ou administração do banco de dados, é gravado uma string de conexão contendo os parâmetros para alcançar um servidor Oracle configurado. Por padrão o arquivo se encontra em:
Tnsnames.ora: C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
Conteúdo:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
Configurando Driver JDBC Oracle
Para usar o driver JDBC para Oracle 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, a figura abaixo ilustra como efetuar este procedimento na IDE Eclipse:
Diretório: C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
Driver: ojdbc6.jar
Exemplo:
Neste exemplo usamos o driver JDBC Oracle Thin 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 Oracle XE e a ferramenta Oracle SQL Developer.
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 ConexaoOracle 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("Conexão Oracle XE 11g: @localhost:1521:xe");
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("Oracle XE 11g");
formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// cria classe da conexão
ConexaoOracle conectar = new ConexaoOracle();
// 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("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", 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
ConexaoOracle conecta = new ConexaoOracle();
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();
}
});
}
}




como faço para conectar o Oracle 10g com o Netbeans utilizando a Driver OCI
Olá Alfredo,
O driver OCI é para C no entanto ele é usado como base para vários drivers, você pode utilizar o Oracle Instant Client 12c para baixar o driver OCI, ele está incluso no pacote e conecta em servidores de versões anteriores.
http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html
Para usar OCI com C e C++:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/prod/appdev/oci/oci.htm
Agora se você estiver usando Java e quer conectar usando OCI:
No NetBeans você adiciona o driver normalmente e utiliza
import oracle.jdbc.oci.*; ao invés de import java.sql.*;
se olhar na imagem do eclipse acima você verá que o driver JDBC possui o pacote oracle.jdbc.oci
Exemplo completo neste link:
http://docs.oracle.com/cd/B28359_01/java.111/b31224/ociconpl.htm
Espero ter ajudado.
Abraços.
Bom dia!
Estou precisando muito utilizar o netbeans para desenvolver um web service que vai disponibilizar algumas tabelas do meu banco de dados oracle.
Pra iniciar o meu projeto, preciso criar uma conexão entre o NetBeans e o DB Oracle. Na minha máquina já tem instalado o Client Oracle, já acesso ferramentas de PLSQL
Dados das máquinas:
– Banco de dados Oracle v.11.2.04 – IP do servidor na rede: 192.168.0.7
– Minha máquina : IP 192.168.0.170 (Já está instalado o netbeans) Windows 7 – 64bits
– Meu TNS Names:
BDTESTE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.7)(PORT = 1521))
)
(CONNECT_DATA =
(SID = BDTESTE)
)
)
ME AJUDEM POR FAVOR
Olá Hudson
Este tutorial tmb serve para o Netbeans ou qualquer IDE que vc esteja usando.
Caso vc queira usar a IDE do Netbeans para manipular o banco de dados, use este tutorial da documentação oficial:
https://netbeans.org/kb/docs/ide/oracle-db_pt_BR.html
Abs.