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.