Conexão ao banco utilizando JSP

Forum destinado a Linguagem JAVA! Classes, orientação a objeto, conexão com banco, chamada de procedures, etc
Responder
jks1903
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 188
Registrado em: Qui, 04 Fev 2010 8:08 am

Pessoal seguinte.

Estou desenvolvendo uma págia que será integrante do site da empresa.
Nessa página preciso de alguns dados que estão na nossa base do sitema de gestão.

Porém não esotu conseguindo conectar com o banco de dados.

Eu estava utilizanod somente o DreamWeaver, e ao testar no servidor nenhum dado era exibido e não retornava nenhum erro, sendo que a quety retornava registros.

Depois, passei a utilizar o Netbeans e debugando eu vi que se tratava de algo referente ao driver, pois aí fiz uma exception e me retorna esse erro:

oracle.jdbc.driver.OracleDriver

O problema é que só iso não mediz muita coisa, rsrs.

Baixei o driver e copiei ele pra pasta lib do Tomcat (utilizo versão 6).

Alguém já teve algum caso pareceido, ou tem alguma idéia do que possa ser o erro?

Segue o trecho do código referente a coenxão com o banco:

Selecionar tudo

        <%
String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
String DB_URL = "jdbc:oracle:@192.168.7.1:1521:PROD";
String DB_USER = "website";
String DB_PASS = "siteweb";

Connection connection = null;
try {
Class.forName(JDBC_DRIVER).newInstance();
connection = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);

out.println("Conexão realizada com sucesso.");


}
catch (Exception e){
	out.println("Erro ao acessar banco de dados!<BR>" + e.getMessage());
} finally {
	out.println(" ");
}
%>
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

então filhão...

existe uma variavel chamada CLASSPATH.. acrescente o drive do seu jar a essa variavel q vai funcionar...

a sua pagina/aplicação não ta enchergando o classe q você ta mandando carregar.. ela não consegue achar o o jar que você baixou.. basta apontar o jar para sua aplicação
jks1903
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 188
Registrado em: Qui, 04 Fev 2010 8:08 am

Cara, não entendi muito bem, mas vamos ver...

A classpath que você fala é uma variavel do TomCat, isso?
Se sim, onde eu localizo a mesma?

Nessa variável está informado o diretório da aplicação, no qual eu devo copiar o driver do Oracle.


É essa a idéia?

Vlw.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

o seu projeto tem uma pasta lib?
você sabe configurar o classpath da tua aplicação?


a ideia a fazer a sua aplicação saber onde esta o jar que contem o a classe que você usa ("oracle.jdbc.driver.OracleDriver") nesse código..

pode fazer isso de varias maneiras..

aconselho a você botar o jar dentro da pasta lib que fica..
..\WebContent\WEB-INF\lib

e no netbeans mesmo você arrumar um jeito de "cadastrar" o jar no classpath da aplicação.. no eclipse basta clicar com o botão direito e ir em
Build Path
Configure Build Path
e la localizar o jar e acrescentar ele
jks1903
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 188
Registrado em: Qui, 04 Fev 2010 8:08 am

Cara desculpe a demora, rrs estava meio sem tempo.

Bom, sobre o classpath, nunca configurei não, nem sei com fazê-lo.
Até tentei procuraralguns tutoriais mas mesmo assim não conseguio fazer bufar.

O caso é que o máximo que eu fazia eram validações de formulário, alguns cálculos e etc, nada de acesso a banco de dados com jsp.

Mas acredito que estou perto, rsrs

Você não teria um exemplo de como configurar a classpath?

Vlw.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

http://javahowto.blogspot.com/2006/06/s ... beans.html

To configure build classpath, in Eclipse Project Properties Window, click Java Build Path in the left panel, and in the right panel choose Libraries tab. There are more classpath-related elements in Eclipse: JARs, External JARS, Variables, Libraries, Class Folders, and other Projects. Click Add External JARs (not Add JARS) if you want to add a jar file to classpath, and click Add Class Folders if you want to add a directory or folder to classpath.

http://www.cs.iastate.edu/~lmiller/cs36 ... clipse.htm
jks1903
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 188
Registrado em: Qui, 04 Fev 2010 8:08 am

Cara, consegui a conexão, haha vlw.

Porém agora me surgiu outra dúvida, qua talvez seja categorizada como DBA, mas vou tentar aproveitar o tópico.

Eu realizei a conexão com um usuário DBA. Porém por questões de segurança eu gostaria de realizar a conexão com outro usuário, que teria somente privilégio para fazer select em algumas views que contém as informações que serão disponibilizadas.

Tentei com o GRANT CONNECT to [nome_user] mas mesmo assim não consegui.

Saberia me dizer o que preciso fazer para um usuário "normal" conseguir fazer a conexão com o banco de dados?

Vlw.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

não entendi muito bom sua nova dúvida..

você criou um usuario? não conseguiu logar com ele no banco?

para fazer com que ele acesse sua view basta rodar algo do tipo..

Selecionar tudo

grant select on sua_view to seu_user;
jks1903
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 188
Registrado em: Qui, 04 Fev 2010 8:08 am

O teste de conexão eu fiz com um usuário que possui direitos de DBA.
Porém, por questões de segurança eu não quero/posso utilizar esse usuário.

O caso é que nosso banco possui esquemas, não sei se isso interfere.

Mas, ao testar a conexão ao banco com esse usuário "normal", que só tem acesso a view, ele não loga. Utilizo a ferramenta SQL Tools 1.5, para trabalhar no banco e nessa ferramenta também não consigo logar com o usuário que criei. Porém no sistema de gestão eu consigo, pois ao criar um usuário no sistema, o mesmo cria um usuário no banco.

não estou entendendo o porquê que somente usuários com privilégio de DBA conseguem acesso ao banco de dados.

Vlw.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

não faz muito sentido..

você criou o usuário e ao tentar logar qual mensagem é exibida?
qual erro é mostrado?
jks1903
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 188
Registrado em: Qui, 04 Fev 2010 8:08 am

Mensagem de logon inválido: usuário ou senha incorreta.

Porém o usuário e senha são esses.

Tnto que no sistema de gestão eu consigo logar normalmente, apenas quando tento logar nessa ferramente SQL Tools e na conexão que estabeleci no NetBeans é que ocorre o erro.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

mas você consegue estabelecer uma conexao java via JDBC com esse usuário?


SQL Tools e Netbeans da erro beleza.. você já checou se o host, sid.. ?
jks1903
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 188
Registrado em: Qui, 04 Fev 2010 8:08 am

Opa, desculpe não ter respondido, mas é que eu encontrei o problema e aí não tinha mais voltado ao fórum.

O caso é que eu havia criado esse usuário pelo sistema de ERP mesmo, o qual para cada usuário de sistema cria um usuário de banco também.

Porém, falando com os DBAs do suporte vi que ao criar um usuário através do sistma o mesmo possui alguma configuração ou algo parecido (foi o que entendi) que não permite conexões diretas ao banco de dados.

Mas no fim, criando um usuário direto pelo BD funcionou normalmente.

Vlw.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante