Oracle - Teste de conexão com o banco
Publicado por Leandro Nkz (última atualização em 24/06/2013)
[ Hits: 14.310 ]
Homepage: http://brweatherproject.blogspot.com/
Olá a todos!
Esta simples aplicação testa a conexão com o banco de dados Oracle, usando o driver JDBC.
Ela foi a precursora desta outra: http://www.vivaolinux.com.br/dica/OraPlus-Simples-gerenciador-para-o-banco-de-dados-Oracle/
Utilização:
Primeiro, baixe o driver mais recente aqui (necessário possuir um cadastro - gratuito): http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
Baixe o arquivo Java e compile-o:
$ javac OraJavaTest.java
Por fim, execute, informando o local onde você salvou o driver (.jar):
$ java -cp /caminho_para_o_driver/ojdbc5.jar:`pwd` OraJavaTest
Neste exemplo, eu salvei o driver em /home/leandro/Downloads:
$ java -cp /home/leandro/Downloads/ojdbc5.jar:`pwd` OraJavaTest
Para quem quiser, aqui está disponível a versão empacotada desta aplicação (.jar):
http://sourceforge.net/projects/oraplus/files/
/* Simples teste de conexão para o banco de dados Oracle
* Criado por Leandro Nkz <http://www.vivaolinux.com.br/~leandro>
*
* Licença:
* Programa disponível no estado em que está. Sem nenhuma garantia ou suporte
* por parte do desenvolvedor.
* Você é livre para redistribuí-lo e/ou modificá-lo ou até mesmo criar obras
* derivadas, desde que respeite os termos da GNU GENERAL PUBLIC LICENSE versão 3,
* disponível em: <http://www.gnu.org/licenses/gpl.html>
*
*/
import java.awt.Color;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class OraJavaTest extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JLabel titulo, banco, login, senha, port, host;
JTextField t_banco, t_login, t_port, t_host;
JTextArea result;
JPasswordField t_senha;
JButton ok, cancel, limpar;
String status = null;
public OraJavaTest() {
setTitle("OraJavaTest");
setSize(400,350);
setResizable(false);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
getContentPane().setBackground(Color.WHITE);
setLayout(new GridBagLayout());
GridBagConstraints grid = new GridBagConstraints();
grid.insets = new Insets(5, 5, 0, 5);
grid.ipady = 10;
titulo = new JLabel("Oracle Database - Teste de conexão");
grid.anchor = GridBagConstraints.CENTER;
grid.ipadx = 0;
grid.gridx = 0;
grid.gridy = 0;
grid.gridwidth = 4;
getContentPane().add(titulo, grid);
host = new JLabel("Host:");
grid.anchor = GridBagConstraints.EAST;
grid.ipadx = 0;
grid.gridx = 0;
grid.gridy = 1;
grid.gridwidth = 1;
getContentPane().add(host, grid);
t_host = new JTextField();
t_host.setToolTipText("Domínio ou IP do servidor");
grid.anchor = GridBagConstraints.WEST;
grid.ipadx = 150;
grid.gridx = 1;
grid.gridy = 1;
grid.gridwidth = 1;
getContentPane().add(t_host, grid);
port = new JLabel("Porta:");
grid.anchor = GridBagConstraints.WEST;
grid.ipadx = 0;
grid.gridx = 2;
grid.gridy = 1;
grid.gridwidth = 1;
getContentPane().add(port, grid);
t_port = new JTextField();
t_port.setToolTipText("Porta de conexão. O padrão é 1521");
grid.anchor = GridBagConstraints.WEST;
grid.ipadx = 50;
grid.gridx = 3;
grid.gridy = 1;
getContentPane().add(t_port, grid);
banco = new JLabel("Banco:");
grid.anchor = GridBagConstraints.EAST;
grid.ipadx = 0;
grid.gridx = 0;
grid.gridy = 2;
grid.gridwidth = 1;
getContentPane().add(banco, grid);
t_banco = new JTextField();
t_banco.setToolTipText("Se você usa o Oracle XE, o padrão é XE");
grid.anchor = GridBagConstraints.WEST;
grid.ipadx = 268;
grid.gridx = 1;
grid.gridy = 2;
grid.gridwidth = 3;
getContentPane().add(t_banco, grid);
login = new JLabel("Login:");
grid.anchor = GridBagConstraints.EAST;
grid.ipadx = 0;
grid.gridx = 0;
grid.gridy = 3;
grid.gridwidth = 1;
getContentPane().add(login, grid);
t_login = new JTextField();
t_login.setToolTipText("Login de usuário");
grid.anchor = GridBagConstraints.WEST;
grid.ipadx = 268;
grid.gridx = 1;
grid.gridy = 3;
grid.gridwidth = 3;
getContentPane().add(t_login, grid);
senha = new JLabel("Senha:");
grid.anchor = GridBagConstraints.EAST;
grid.ipadx = 0;
grid.gridx = 0;
grid.gridy = 4;
grid.gridwidth = 1;
getContentPane().add(senha, grid);
t_senha = new JPasswordField();
t_senha.setToolTipText("Senha do usuário");
grid.anchor = GridBagConstraints.WEST;
grid.ipadx = 268;
grid.gridx = 1;
grid.gridy = 4;
grid.gridwidth = 3;
getContentPane().add(t_senha, grid);
grid.ipady = 0;
ok = new JButton("OK");
ok.setFocusable(false);
ok.setForeground(new Color(255,255,255));
ok.setBackground(new Color(0,150,0));
ok.addActionListener(this);
grid.anchor = GridBagConstraints.WEST;
grid.ipadx = 0;
grid.gridx = 0;
grid.gridy = 5;
grid.gridwidth = 1;
getContentPane().add(ok, grid);
cancel = new JButton("Cancelar");
cancel.setFocusable(false);
cancel.setForeground(new Color(255,255,255));
cancel.setBackground(new Color(150,0,0));
cancel.addActionListener(this);
grid.anchor = GridBagConstraints.WEST;
grid.ipadx = 0;
grid.gridx = 1;
grid.gridy = 5;
grid.gridwidth = 2;
getContentPane().add(cancel, grid);
limpar = new JButton("Limpar");
limpar.setFocusable(false);
limpar.setForeground(new Color(0,0,0));
limpar.setBackground(new Color(255,255,255));
limpar.addActionListener(this);
grid.gridx = 2;
grid.gridy = 5;
grid.gridwidth = 2;
grid.anchor = GridBagConstraints.EAST;
getContentPane().add(limpar, grid);
result = new JTextArea("\n\n\n\n",10,30);
result.setForeground(Color.RED);
result.setEditable(false);
result.setFont(new Font("verdana", Font.PLAIN, 15));
grid.ipady = 0;
grid.ipadx = 0;
grid.gridx = 0;
grid.gridy = 7;
grid.gridwidth = 4;
grid.anchor = GridBagConstraints.CENTER;
getContentPane().add(result, grid);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==ok) {
if (connection()==true) {
JOptionPane.showMessageDialog(null, "Falha na conexão:\n" + status, "Erro", JOptionPane.ERROR_MESSAGE);
result.setText("\n\n\n\n");
}
}
if (e.getSource()==cancel) {
System.exit(0);
}
if (e.getSource()==limpar) {
t_banco.setText(null);
t_port.setText(null);
t_login.setText(null);
t_senha.setText(null);
t_host.setText(null);
result.setText("\n\n\n\n");
}
}
boolean connection() {
try {
String banco = t_banco.getText();
String host = t_host.getText();
String port = t_port.getText();
String url = "jdbc:oracle:thin:@" + host + ":" + port + ":" + banco;
String usuario = t_login.getText();
String senha = new String(t_senha.getPassword());
Connection cn = null;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
cn = DriverManager.getConnection( url, usuario , senha);
Statement st;
String sql = "select sys_context('userenv', 'session_user') \"USER\", " +
"sys_context('userenv', 'instance_name') \"BD\", " +
"sys_context('userenv', 'server_host') \"SERVER\" from dual";
String sql2 = "select admin_option \"ADMIN\" from user_role_privs";
st = cn.createStatement();
ResultSet res = st.executeQuery(sql);
res.next();
String USER = res.getString("USER");
String BD = res.getString("BD");
String SERVER = res.getString("SERVER");
ResultSet res2 = st.executeQuery(sql2);
res2.next();
String ISADM = res2.getString("ADMIN");
if (ISADM.equals("YES")) {
ISADM = " ";
} else {
ISADM = " não ";
}
result.setText("Conexão efetuada com sucesso!\nVocê se logou como: "
+ USER + "\nNa instância: "+ BD + "\nQue está no servidor: " +
SERVER + "\nE você" + ISADM + "possui privilégios de admin.");
st.close();
cn.close();
} catch(SQLException e) {
status = e.getMessage();
return true;
} catch(ClassNotFoundException e) {
status = "Não foi possível carregar o driver:\n" + e.getMessage();
return true;
} catch(Exception e) {
status = e.getMessage();
return true;
}
return false;
}
public static void main (String args[]) {
System.setProperty("swing.aatext", "true" );
System.setProperty("awt.useSystemAAFontSettings","on");
new OraJavaTest().setVisible(true);
}
}
Classe Java para conectar ao Mysql em um servidor remoto
Conexão com Banco de Dados MySQL
Cadastro de Clientes com GUI e MySQL
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Necessário autenticar ao imprimir - Ubuntu X Windowns (1)
O que houve com slackware ??? (11)
O Free Download Manager não abre no Fedora 43 KDE Plasma (2)









