Oracle - Teste de conexão com o banco
Publicado por Leandro Nkz (última atualização em 24/06/2013)
[ Hits: 14.132 ]
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);
}
}
Conexão com Firebird usando a linguagem Java
Conexão com MySQL usando a linguagem Java
Conexão com Banco de Dados MySQL
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









