Pessoal, eu estava fazendo uma aplicao local, usando java + tomcat + MySQL … tudo funcionando, mas agora preciso fazer essa mesma aplicacao acessar um banco de dados em outra maquina, banco de dados oracle e estou recebendo erros. Fiz uma classe, soh para testar a conexao jah estou com erro, segue
erro
Conectando ao banco
Exception in thread "main" java.sql.SQLException: [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at seplag.bernardo.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:14)
at seplag.bernardo.jdbc.TestaConexao.main(TestaConexao.java:9)
Exception in thread "main" java.sql.SQLException: Exceção de E/S: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(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.<init>(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at seplag.bernardo.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:14)
at seplag.bernardo.jdbc.TestaConexao.main(TestaConexao.java:11)
eu vou te explorar um pouco
nunca mechi com o oracle soh postgree e MySQL. voce pode me dar um link para uma pagina com todos os operadores da linguagem
nesse caso em especifico estou procurando um operador que substitua a linha
“DATEDIFF(CURDATE(),TRA.DAT_TRAMITE_TRA) AS atrasoSolicitacao,”
jah que DATEDIFF e CURDATE sao funcoes do mysql que nao existem no oracle.
consulta MySQL
SELECT
SOL.PK_SEQ_SOLICITACAO_SOL AS `numSolicitacao`,
TRA.DAT_TRAMITE_TRA AS `dataSolicitacao`,
DATEDIFF(CURDATE(),TRA.DAT_TRAMITE_TRA) AS `atrasoSolicitacao`,
SOL.DSC_SOLICITACAO_SOL AS `descSolicitacao`,
TEC.TXT_NOME_TEC AS `respSolicitacao`
FROM
tb_solicitacao_sol AS SOL ,
tb_tramite_tra AS TRA ,
tb_tecnico_tec AS TEC ,
tb_categoria_cat AS CAT ,
tb_responsavel_res AS RES ,
tb_status_sta as STA
WHERE
SOL.fk_seq_categoria_cat = CAT.pk_seq_categoria_cat AND
RES.fk_seq_categoria_cat = CAT.pk_seq_categoria_cat AND
RES.fk_seq_tecnico_tec = TEC.pk_seq_tecnico_tec AND
TRA.fk_seq_solicitacao_sol = SOL.pk_seq_solicitacao_sol AND
TRA.fk_seq_status_sta = STA.pk_seq_status_sta AND
STA.pk_seq_status_sta = 3
Consulta Oracle
SELECT
SOL.PK_SEQ_SOLICITACAO_SOL numSolicitacao ,
TRA.DAT_TRAMITE_TRA dataSolicitacao ,
DATEDIFF(CURDATE(),TRA.DAT_TRAMITE_TRA) atrasoSolicitacao ,
SOL.DSC_SOLICITACAO_SOL descSolicitacao ,
TEC.TXT_NOME_TEC respSolicitacao
FROM
ADM_SRA.tb_solicitacao_sol SOL ,
ADM_SRA.tb_tramite_tra TRA ,
ADM_SRA.tb_tecnico_tec TEC ,
ADM_SRA.tb_categoria_cat CAT ,
ADM_SRA.tb_responsavel_res RES ,
ADM_SRA.tb_status_sta STA
WHERE
SOL.fk_seq_categoria_cat = CAT.pk_seq_categoria_cat AND
RES.fk_seq_categoria_cat = CAT.pk_seq_categoria_cat AND
RES.fk_seq_tecnico_tec = TEC.pk_tecnico_tec AND
TRA.fk_seq_solicitacao_sol = SOL.pk_seq_solicitacao_sol AND
TRA.fk_seq_status_sta = STA.pk_seq_status_sta AND
STA.pk_seq_status_sta = 4