Tenho o seguinte código que executa uma Store Procedure no meu Banco de Dados Oracle:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.*;
import java.sql.*;
import oracle.jdbc.pool.*;
public class Consulta {
/**
* Creates a new instance of <code>Consulta</code>.
*/
Connection conexao = null;
public void Consulta(){
}
public void Conecta() {
try{
String teste="";
conn con = new conn();
conexao = con.getConnection();
CallableStatement stmt1 = conexao.prepareCall("call teste_data(?,?,?)");
stmt1.setString(1,"2007/07/08 19:06:09");
stmt1.setString(2,"2007/07/08 19:40:40");
stmt1.setString(3,"receptor");
ResultSet rs1=stmt1.executeQuery();
stmt1.close();
rs1.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Consulta consulta = new Consulta();
consulta.Conecta();
}
}
Mas quando eu executo ela mostra o seguinte erro:
[quote]java.sql.SQLException: ORA-01843: not a valid month
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:2929)
at Consulta.Conecta(Consulta.java:29)
at Consulta.main(Consulta.java:44)[/quote]
A instrulção SQL quando jogada no Banco de Dados funciona corretamente mas quando executo pelo código não vai. O que pode ser??