Tenho uma pagina em JSP que faz uma conexão com banco ORACLE em ambiente LINUX, porem, creio que não esteja encontrando o driver.
StringserverName="z";StringportNumber="z";Stringsid="z";Stringurl="jdbc:oracle:thin:@"+serverName+":"+portNumber+":"+sid;try{Class.forName("oracle.jdbc.OracleDriver");//Carrega o drive NativoConnectioncon=DriverManager.getConnection(url,"z","z");DatabaseMetaDatadma=con.getMetaData();System.out.println("\nConnected to "+dma.getURL());System.out.println("Driver "+dma.getDriverName());System.out.println("Version "+dma.getDriverVersion());System.out.println("");Statementstmt=con.createStatement();
Substitui algumas informações por Z por motivos de segurança, porem no código fonte original esta correto. A duvida seria, como verificar ou instalar o JDBC Oracle no Linux?
Você já adicionou o pacote do driver (.jar) do Oracle?
M
MHPA23
Bom baixei um ojdbc7.jar porem onde posso colocar ele? qual pasta? estou usando Ubuntu Server.
Dragoon
Pouco importa se é Linux ou Windows, o que importa se você adicionou o pacote .jar na sua aplicação, em qual você está usando NETBEANS?
M
MHPA23
Nao, esta rodando via TOMCAT7.
Dragoon
Você usa NetBeans para fazer o projeto? Qual é a situação do seu projeto?
L
Luis_Augusto_Santos
Coloque o jar dentro da pasta lib no diretório onde instalou o tomcat.
Mas, antes de mais nada, porquê precisa fazer o select direto na JSP? Funciona, mas é a pior abordagem a se utilizar.
Qual o problema em trabalhar com camadas?
M
MHPA231 like
O projeto foi desenvolvido em 2009, no caso peguei para dar manutenção. O que ocorre é que ele é desenvolvido em .php porem, em algum trecho do código o desenvolvedor utilizou trechos em JSP. (Uma desordem imensa), o projeto foi desenvolvido com apenas um editor de texto normal e sendo executado no TOMCAT.
Dragoon
Agora ferrou é PHP ou JAVA? é muito complicado dar alguma solução plausível…
M
MHPA23
Pois bem Luis, a aplicação na época fora dividida dessa maneira, até pensamos aqui em refaze-la o que demandaria tempo. A aplicação esta muito ruim para dar manutenções.
L
Luis_Augusto_Santos
Jesus!
Por isso que eu prefiro não pegar projetos para dar manutenção.
E, se eu fosse pegar algo assim, daria duas opções: migraria tudo para php ou simplesmente sugeriria refazer tudo com tecnologia mais recente.
M
MHPA23
Perdão, cometi um equivoco, é JAVA. olhe só um pequeno trecho do código.
M
MHPA231 like
Estamos avaliando a situação de traduzir para PHP, o projeto funciona muito bem como esta, porem, atrapalha muito em manutenções ou migrações como essa para outro servidor.
L
Luis_Augusto_Santos
Esse trecho entre <% e %> até parece PHP mas é apenas o monstro scriptlet.
Colocou o driver na pasta lib do tomcat?
Dragoon
Acredito que para funcionar falta o .jar do Oracle elas estão dentro do Tomcat?
M
MHPA23
Dentro da pasta TOMCAT esta sim um arquivo .jar, porem teria alguma pasta correta para coloca-lo?
M
MHPA23
Dentro dessa pasta teria que colocar o arquivo?
L
Luis_Augusto_Santos
Vamos por partes.
O mecanismo de funcionamento do tomcat fica encarregado de identificar a melhor solução para algo que o projeto requeira.
Por exemplo, se o projeto invoca um objeto do pacote xyz, o tomcat primeiro analisa se o pacote se encontra em algum jar dentro da sua pasta lib.
Caso positivo, ele fornece o que foi solicitado.
Caso contrário, ele vai procurar dentro da pasta do projeto, em WEB-INF/lib.
Se encontrar, ele disponibiliza o recurso. Senão, gera exception “ClassNotFound” ou afim.
Então, se você colocar o ojdbc7.jar dentro da pasta lib do tomcat e reiniciá-lo, deve funcionar.
L
Luis_Augusto_Santos
Sim. Só que daí não vai funcionar.
M
MHPA23
Ok vamos la, temos a pasta do projeto chamada eletrotrafo. Reparem o caminho de onde ela vem.
Nas pastas anteriores não temos uma pasta chamada LIB a não ser essa antes do TOMCAT7
L
Luis_Augusto_Santos
Esta é a pasta root do tomcat, é o local onde o tomcat descompacta os war. A lib não está ali.
Você precisa abrir o projeto ‘eletrotrafo’ e, dentro dele, deve existir a pasta WEB-INF. A pasta lib fica dentro dela.
T
TI1LOJA
Ok, dentro da pasta do projeto não tem a pasta mencionada, posso cria-la?
Tenho outra conta como a outra que abri o fórum é nova tem um limite para interação com o forum.
Na verdade, o ideal era que esta pasta fosse criada antes de compactar o projeto como war pois quando o tomcat fizer o deploy do war, esta estrutura já está pronta.
Não consigo dizer se irá funcionar assim. O que posso te dizer é que você terá que reiniciar o tomcat.
T
TI1LOJA
Agora ficou claro. olhe só a estrutura de pastas no servidor em Windows.