Olá pessoal, meu problema é... tenho um JSP que faz upload no banco de dados partir de um submit de outra pagina, ele insere normalmente os dados no banco de dados, mas ele retorna as msg de erro que eu coloquei no try/catch na parte de Banco de Dados, nao estou entendendo o motivo, alguem poderia dar uma ajudinha ?
Obrigado
Segue o codigo JSP
<%@page language="java" import="org.apache.commons.fileupload.*, java.util.*, java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="org.postgresql.Driver" %>
<%
String caminhoTemp = "/tmp/teste/";
String pasta = "/tmp/teste/";
String nomeArquivo = "";
if (FileUpload.isMultipartContent(request)){
DiskFileUpload upload = new DiskFileUpload();
upload.setRepositoryPath(caminhoTemp);
try{
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
String nome=item.getName().toString();
nomeArquivo=nome.substring(nome.lastIndexOf("\\")+1);
//Grava o arquivo fixo
File arquivo=new File(pasta+nomeArquivo);
item.write(arquivo);
out.write(pasta+nomeArquivo);
}
}
}catch(FileUploadException e){
out.write("Não foi possível efetivar o upload do arquivo - segue a causa do erro" + "<br>" + e.getMessage());
e.printStackTrace();
}
}
//--------------------------------------------BANCO DE DADOS------------------------------------------//
String url = "jdbc:postgresql://***.***.*.***:5432/****8";
String username = "****";
String password = "*******";
String SQL = "";
String Codigo = "";
String Tipo = "";
try {//DRIVE
Class.forName("org.postgresql.Driver");// registra Drive
} catch (ClassNotFoundException cnfe) {
out.println("nao achou drive");
cnfe.printStackTrace();
}
Connection con = null;
try {//
con = DriverManager.getConnection(url, username, password);
} catch (SQLException se) {
System.out.println("Nao foi possivel conectar");
se.printStackTrace();
}
//----------------Pega o tipo--e o nome do Arquivo------------//
int tam = nomeArquivo.length();
int ind = 0;
while(ind < tam && nomeArquivo.charAt(ind)!= 'm' && nomeArquivo.charAt(ind)!= 'i' && nomeArquivo.charAt(ind)!= 'd'){//PEGA CODIGO
Codigo = Codigo.concat(nomeArquivo.valueOf(nomeArquivo.charAt(ind)));
ind++;
}
while(ind < tam && nomeArquivo.charAt(ind)!= '.'){//PEGA TIPO
Tipo = Tipo.concat(nomeArquivo.valueOf(nomeArquivo.charAt(ind)));
ind++;
}
out.print("<BR>" + Codigo + "<BR>");
out.print(Tipo + "<BR>");
//------------------------------------------------------------//
out.print("ab");
SQL = "INSERT INTO alive_portal (codigo) SELECT '"+ Codigo +"' WHERE NOT EXISTS (SELECT codigo FROM alive_portal WHERE codigo = '"+ Codigo +"');";
Statement stmcod = con.createStatement();
try
{
ResultSet rs = stmcod.executeQuery(SQL);
}
catch (Exception e)
{
e.printStackTrace();
out.write("erro no executeQuery");
}
if(Tipo.equals("imagem"))//Tipo IMAGEM
{
out.print("a");
SQL = "update alive_portal set "+ Tipo +" = lo_import('" + pasta+nomeArquivo + "') where codigo = '"+ Codigo +"';";
Statement stmimg = con.createStatement();
try {
ResultSet rs = stmimg.executeQuery(SQL);
}
catch (Exception e)
{
e.printStackTrace();
out.write("erro no executeQuery");
}
}
else //Tipo MAPA ou Descricao
{
out.print("b");
//update alive_portal set codigo='1234' where codigo='1';
SQL = "update alive_portal set "+ Tipo +" = lo_import('" + pasta+nomeArquivo + "') where codigo = '"+ Codigo +"';";
Statement stmap = con.createStatement();
try
{
ResultSet rs = stmap.executeQuery(SQL);
}
catch (Exception e)
{
e.printStackTrace();
out.write("erro no executeQuery");
}
}
try
{
con.close();
out.println("conexao encerrada");
}
catch(SQLException onConClose)
{
out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
Runtime.getRuntime().exec("rm "+pasta+nomeArquivo);
%>