Drivers JDBC para Oracle e SQL Server

20 respostas
renatosilva

Visto o que aconteceu com o driver MySQL, onde eu baixei a versão mais nova e uma mais antiga que arranjei com um colega é que funcionava (era problema com encoding), eu queria saber se vocês tem alguma recomendação para os drivers de Oracle e SQL Server. Eles são gratuitos né??

Muito obrigado e até mais.

20 Respostas

luiz_ross
Pra SQL Server 2000 tem o jTDS [url]http://jtds.sourceforge.net/[/url]
e pra Oracle tem os jars classes12.jar e o ojdbc14.jar
renatosilva

Os drivers da Oracle são dois que você falou ou um só formado por dois jars? Eu posso baixar no site da Oracle mesmo?

xjcd

Os drivers da oracle voçê baixa em:

http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

Quanto aos arquivos depende da versão do oracle e do JDK.

ojdbc14.jar = JDK 1.4
classes12.jar = JDK 1.2 e JDK 1.3

renatosilva

Valeu, eu não entendi por que tem driver para diferentes versões do Oracle, eu poderei apenas colocar no CLASSPATH apenas o driver para uma única versão né?

_fs

Na verdade você pode fazer outras coisas. Contudo imagino que deva colocar no CLASSPATH apenas o driver pertinente à versão do Oracle usada pela aplicação.

Aliás, que grande e fedido sovaco fazer uma nova versão do driver para cada versão do banco, não é, Srta. Oracle?

xjcd

É interessante voçê usar o driver especifico para a sua versão do Oracle, pois de uma versão para outra pode mudar alguma coisa, e além do mais o nome dos arquivos é o mesmo (tipo classes12.zip) mas o tamanho muda.

renatosilva

Putz isso é escroto, e se eu estiver em um micro com duas aplicações clientes que acessam diferentes versões do Oracle?? Como vou volocar as duas no CLASSPATH se provavelmente o nome da classe de driver é a mesma, tipo
com.porcaria.oracle.Driver???

Rafael_Steil

Nao coloque na variavel CLASSPATH, e simplesmente inicie a aplicacao passando o parametro -classpath para o java.

Rafael

renatosilva

Rafael, então levando por esse lado eu não colocaria nada no CLASSPATH né? Bom eu acho esse sistema do java meio fraquinho, complicadinho, confusozinho…

O problema é que temos uma aplicação web e temos que colocar os drivers de banco no lib, mas como vamos colocar vários drivers de Oracle, para cada versão e no nosso properties o usuário vai indicar a versão? Entende?

Rafael_Steil

Se voce deixar no WEB-INF/lib nao tem problema.

Porem, eh tudo uma questao de testes. Provavelmente o driver mais recente para oracle ira funcionar sem problemas com todas as versoes do db server.

Rafael

renatosilva

@corrigido

Eu acho que provavelmente não, se tem drivers para versões diferentes no site da Oracle é por que provavelmente não vai funcionar direito!!!

Sobre a app web, imagina que coloquemos os drivers para Oracle 10g e 9g, ambos contendo a mesma classe com.porcaria.oracle.jdbc.Driver. O Tomcat vai advinhar qual JAR usar? Acho que no .NET essa questão é um pouco melhorada.

Rafael_Steil

Como eu disse, eh soh vc jogar o driver mais novo e testar. Em 30 minutos vc vai ter certeza se funciona ou nao. De qualquer maneira, existe uma coisa chamada “Compatibilidade”, e nao creio que a Oracle vai querer quebrar ela. Eu to usando o driver *14.jar com o Oracle 8i e esta funcionando sem problemas.

Rafael

Rafael_Steil

LIPE:

Aliás, que grande e fedido sovaco fazer uma nova versão do driver para cada versão do banco, não é, Srta. Oracle?

Ue? mas todo mundo faz isso. E os drivers novos costumam funcionar com vesoes mais antigas dos bancos.

Rafael

renatosilva

Isso que eu tenho que verificar, se é compatível com os Oracles mais antigos. É o lógico né!!

Bom se a Oracle não garante compatibilidade, mesmo que funcione é melhopr não fazer. Portanto o ponto é saber se a Oracle garante a compatibilidade. Vou ver se vejo isso depois. Valeu!!!

_fs

Rafael, tomei a mesma conclusão que o Renato: se funciona, para que distribuir todas? Mas se você testou e comprovou que funciona 100% retroativamente, então fim :smiley:

Rafael_Steil

Tipo, o driver 1.0 funciona para o a versao do ano passado do banco. So que a nova versao, que saiu hoje, tem funcionalidades novas / novas maneiras de conectar, as quais o driver 1.0 nao suporta. Logo, eh preciso fazer o driver 2.0, que funciona com o banco novo e com o banco antigo.

Rafael

renatosilva

Você tem essa informação confirmada na Oracle??

Rafael_Steil

Eu tenho. Tava falando sobre isso com o Larry Ellinson no churrasco do ultimo final de semana.

Rafael

renatosilva

Rafael Steil:
Eu tenho. Tava falando sobre isso com o Larry Ellinson no churrasco do ultimo final de semana.

Rafael

Como diria o Kiko, que será que ele quis dizer? :smiley:

R

Estou tento o mesmo problema, na empresa onde trabalho temos bases que utilizam o oracle 9g e que utilizam o 10.
no meu caso estou conseguindo conectar nas bases q utilizam o 9, porem na base q utiliza o 10g nao consigo conectar, baixei o novo driver pra esta versao, q como vcs disseram eh o mesmo nome ao jogar o jar na pasta lib sobrescrevi e realmente percebi q o tamanho era maior apenas, porem ainda nao consigo conectar na base que utiliza o 10, alguem pode me ajudar???

Criado 22 de março de 2005
Ultima resposta 26 de ago. de 2010
Respostas 20
Participantes 6