Olá pessoal,
Gostaria de saber se alguém pode me dar um help! Esto tentanto efetuar um conecção no Oracle utilizando um programa feito no JAVA. Já estou com o arquivo ojdbc14.jar mas mesmo assim não consigo fazer rodar o programa. Segue código abaixo:
import java.sql.*;
class BDSQL {
public static void main(String args[]){
Connection con = null;
try {
Class.forName(“oracle.jdbc.driver.OracleDriver”);
con = DriverManager.getConnection(“jdbc:oracle:thin:@192.165.150.66:1521:TESTE.WORLD”,“esro”,“orse”);
Statement stm = con.createStatement();
String SQL = " select * from ficha_5 order by nome “;
ResultSet rs = stm.executeQuery(SQL);
while (rs.next()) {
System.out.println(rs);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException g) {
g.printStackTrace();
} finally {
try {
con.close();
} catch (SQLException onConClose) {
System.out.println(” Houve erro no fechamento da conexão ");
onConClose.printStackTrace();
}
}
}
}
O erro que ocorre está logo abaixo:
Exception in thread “main” java.lang.NoClassDefFoundError: BDSQL/java
java.sql.SQLException: ExceþÒo de E/S: Connection refused(DESCRIPTION=(TMP=)(VSN
NUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at BDSQL.main(BDSQL.java:7)
Exception in thread “main” java.lang.NullPointerException
at BDSQL.main(BDSQL.java:20)
Eu dúvida: TESTE.WORLD é o nome da sua instancia no Oracle ou uma entrada do TNSNAMES? Deveria ser o nome da instancia. [/code]
Na verdade eu não sei. Não conheço muito de oracle. Para eu poder acessar o oracle através do SQL Plus, eu digito o usuário, senha e String do Host. Por dedução, depois do IP e da porta, coloquei a String do Host que é TESTE.WORLD. Essa informação que eu coloquei está errada?
Ps.: Versão do ORACLE: 9i
Class.forName("oracle.jdbc.OracleDriver");
DriverManager.getConnection("jdbc:oracle:thin:" + user + "/"
+ password + "@" + IP + ":" + porta + ":" + db);
Obs 1: Usuário e senha do banco, esse vc ja conhece de boas
Obs 2: IP do servidor Oracle, provalemente vc não deve saber, basta perguntar, ou vai que vc saiba neh
Obs 3: Porta para se conectar no Banco, normalmente é usada a porta 1521
Obs 4: DB, o último nome que vc digita no SLQ Plus.
Obs 5: Lembre-se de utilizar o Driver JDBC Oracle correto
Obs 6: não existe Obs 6, espero que nessa observação vc ja tenha conseguido se conctar ao Oracle
[quote=Ai_Caramba]Para eu poder acessar o oracle através do SQL Plus, eu digito o usuário, senha e String do Host. Por dedução, depois do IP e da porta, coloquei a String do Host que é TESTE.WORLD. Essa informação que eu coloquei está errada?
Ps.: Versão do ORACLE: 9i[/quote]
No SQLPlus o “String do host” é uma entrada no TNSNAMES, pois ele usa um protocolo proprietário com a instalação de um Oracle Client. Se você usa o modo thin, a conexão tem que ser feita passando como ultimo parametro a instancia. Procure arquivo $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA a entrada TESTE.WORLD e veja qual a instancia (SID).
Ola pessoal, quando eu me conecto no servidor oracle via jdbc, qual é o usuário do sistema operacional que o driver usa para se conectar na maquina servidora? eu só passo login e senha do user do oracle, e do SO, onde eu encontro isso???