Referenciar uma biblioteca no codigo fonte - Driver do Banco de dados

5 respostas
venomtotal

Pessoal, é o seguinte, para acessar a base de dados a gente precisa utilizar o driver jdbc, referenciando o arquivo .jar onde o mesmo se encontra.

Isto na IDE é muito simples, mas queria saber como fazer isso por codigo fonte.

Pois estou tentando fazer uma aplicação em que O USUÁRIO é que vai dizer a aplicação onde está o arquivo do driver jdbc que ele utilizará.

Agradeço qualquer ajuda

Venom

5 Respostas

loganwlogan

Caro Venon,

Vc vai ter que alterar a variável de ambiante CLASSPATH e nela referenciar o JAR que será utilizado. Agora se vc quer que o usuário escolha o driver que ele vai utilizar, uma boa idéia seria adicionar os JAR´s ao seu projeto e utilizar um sistema de escolha de driver com uma estrutura condicional assim sendo a string do driver de conexão dependeria da escolha do usuário, exemplo:

if(opcao.equals("ACCESS"){ String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; }else if (opcao.equals("MYSQL"){ ...... }

não sei se é isso que vc quer realmente fazer, mas de qq forma fica a dica

Espero ter ajudado

Sds

Logan

venomtotal

Valeu pela resposta caro colega da Marvel :slight_smile: eheheh

Mas o que quero mesmo é saber como fazer isso no classpath.

Já tinha feito isso antes(incorporar todos os drivers), mas queria deixar esta tarefa pro usuario, tipo, pode ser que o cara trabalhe com uma versao do driver jdbc diferente da que usei.

Seria:
Ele escolhe o banco de dados, dependendo da escolha a aplicação ja configurava a string de conexao, MAS é o usuario que tem que apontar onde está o arquivo do driver jdbc.

Se alguem puder me mostrar um exemplo…

Venom

Y

Cara, eu acho que entendi o que você quer fazer.

Acredito que tu tens que fazer o seguinte:

  • primeiro crie algum objeto simples que vá armazenar os nomes dos DB’s e suas respectivas classes de Driver, como citado pelo usuário loganwlogan.
  • após isso, tu precisarás criar acredito que um JFileChooser para que o usuário possa apontar onde está o JAR do Driver (é isso o que você quer, não é? que o usuário mostre aonde está o JAR?)
  • após isso, tu precisas carregar o JAR E o driver na JVM, pra que possa usá-lo, é aí que complica. Para isso, tu podes dar uma olhada nesse tutorial do GUJ: http://www.guj.com.br/java.tutorial.artigo.124.1.guj

Ou seja, tu precisas mostrar ao usuário uma maneira de apontar o diretório do JAR. Em seguida, tu tens que carregar esse JAR em tempo de execução, que é a parte mais “complicada” da coisa.

Espero ter entendido o que você queria.

venomtotal

“em seguida, tu tens que carregar esse JAR em tempo de execução, que é a parte mais “complicada” da coisa.”

ehehehe vc conseguiu deixar clara a minha duvida. É isso mesmo que eu quero. Vou dar uma lida no tutorial que vc mandou.

Valew

Y

Embora eu não tenha muita idéia sobre o que tu tens como projeto, percebas que podes estar criando uma aplicação sujeita a excessões.

Pq tp, se a intenção é permitir que o usuário selecione o Driver para assim manipular diferentes DB’s no mesmo contexto, é importante ressaltar que diferentes DB’s potencialmente terão comandos SQL um pouco diferenciados.

O que quero dizer é que, por exemplo, uma cláusula “LIMIT 0, 10” que tu usas no mySQL pode, eventualmente, não ser suportada pelo Oracle ou MS Access ou ademais. Isso quer dizer que criar uma aplicação desse tipo pode exigir um tratamento rígido de excessões e, se realmente é pra ser funcional, a grande maioria das queries SQL terá de ser analisada e possivelmente rotulada para que se adapte (?dinamicamente?) a diferentes DB’s/Drivers.

Criado 25 de dezembro de 2006
Ultima resposta 26 de dez. de 2006
Respostas 5
Participantes 3