Carregar driver sem setar path na IDE

6 respostas
L

Buenas…galera…Estou quebrando a kbça pra conseguir carregar uma classe do driver do banco de dados, mas não é tão simples assim…
O usuário é quem informa o caminho do driver e os parâmetros para a conexão, como url, password, senha , etc…

estou usando deste jeito o código …

public ConexaoInicial( String driver, String url, String user, String password, String caminhoDriver){
		
		try{
			//Formula uma file com o caminho escolhido pelo usuário
			File flDriver = new File (caminhoDriver);
                        
                       //Monta uma url
			URL caminhoDriver = flDriver.toURL();
                        
                        //Gera um array da url pra poder carregar no classloader
			URL[] arrayURL = new URL[]{caminhoDriver};

                         //Gera o classLoader
			ClassLoader clldDriver =new URLClassLoader(arrayURL);
			Class clDriver = clldDriver.loadClass(driver );
                      
                       //Carrega o driver
			Class.forName(driver,true,clDriver.getClassLoader());
						
	                //Quando chega nesta linha .... vai pro erro como se o driver nnão foi carregado
			connection =DriverManager.getConnection(url,user,password);
			

		}catch(ClassNotFoundException cnfex){
			
			cnfex.printStackTrace();

		}catch(Exception sqlex){
			sqlex.printStackTrace();


		}



	}

Como devo fazer sem setar um path na IDE para carregar o Driver do banco de dados??? já que deste jeito não está dando pra fazer???

Neste código está gerando um erro dizendo que o driver especificado não foi carregado para realizar a conexão…

Me ajudem!!!

Obrigado

6 Respostas

B

Ola

So setar o classpath na mao, por exemplo, seu codigo esta no diretorio bin, e o jar do driver no diretorio lib, so mandar assim:

java -classpath lib/jar_do_driver.jar bin/MainClass

L

Ok Bruno, mas o problema é que no momento em que será setado o driver, o sistema já estará em execução, portando, pelo que eu sei, acho que deveria ser setado no código, onde o endereço é recebido pelo próprio usuário, sendo assim gostaria de saber se tem como setar o path a mão mesmo no código java…

Obrigado por tentar me ajudar…

B

Ola…

Neste caso eu nunca fiz nao… mas da uma olhada nas classes do pacote java.util.jar, acho que elas podem te ajudar de algum jeito…

Boa sorte.

L

Obrigado…Vou dar uma olhada nisto…

Obrigado pela dica…

L

bom… consegui fazer carregar o driver e criar um Class, mas o driverManager não consegue achar o Driver… porque…???

URL caminhoDriver = new URL("jar:file:///home/eu/Desktop/ConfWW/driver.jar!/"); URL[] arrayURL = new URL[] { caminhoDriver }; ClassLoader clldDriver = URLClassLoader.newInstance(arrayURL, this.getClass().getClassLoader()); Class clDriver = clldDriver.loadClass(driver); Driver d = (Driver) clDriver.newInstance(); DriverManager.registerDriver(d); //aqui dá o erro........ O Driver Manager não acha o driver d connection = DriverManager.getConnection(url, user, password);

Me ajudem…

L

Mas será que ninguém sabe como carregar um driver na mão??? sem usar uma ide específica??? :cry:

Criado 5 de setembro de 2006
Ultima resposta 26 de set. de 2006
Respostas 6
Participantes 2