Static final String DATABASE_URL="jdbc:mysql://localhost//testando";

11 respostas
Ticianne

Ola!!

minha duvida é bem basica, mas nao esta muito claro pra mim o significado dessa linha.

public class TesteConect {
	//driver e local do banco de dados
   static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
   static final String DATABASE_URL="jdbc:mysql://localhost//testando";
	}

no meu banco mysql esta essa base testando, que possui uma unica tabela, so pra efeito de teste.

minha duvida é: onde essa tabela deve estar para ser acessada corretamente? essa linha é do exemplo do deitel, pag 907.

aqui ele vai acessar minha base de dados “testando” la onde ela está por default em “C:\Arquivos de programas\MySQL\MySQL Server 5.0\data\testando” ??

ou ele deve estar “solto” dentro do diretorio mysql??

oq exatamente significam esses prefixos jdbc:mysql: ??
é so msm pra indicar qual o driver? ou o driver deve estar dentro do diretorio de mysql??

ai ai ai, que bagunça… :shock: :shock:

11 Respostas

Ticianne

bn

kaique

Ticianne… a linha:

Indica o nome completo do Driver do banco de dados, e ele deve estar no classpath da sua aplicação.

Agora a linha:


static final String DATABASE_URL=“jdbc:mysql://localhost//testando”;

Essa sim indica onde esta o seu banco de dados. O localhost indica q o banco esta localizado na propria makina, e que a conexao sera pela porta 3306(jah q vc nao especificou 1, a default foi escolhida). Isso basta para q o seu banco de dados seja localizado no mysql…

Qualker duvida posta dinovo…

Vlw!!

H

Seguinte, vms por parte:

1- JDBC_DRIVER: driver q sera carregado
2- DATABASE_URL: qual banco do SGBD q sera carregado
3- P/ a app Java, n importa onde esteja o banco, o q importa eh q o SGBD esteja “enxergando” este banco, se ele vai permitir colocar ou nao numa pasta a parte, isso eh do banco (o MySQL guarda na pasta /data, se n me engano, acho q n pode mudar).
4- jdbc:mysql eh a url do MySQL p/ o JDBC, eh padrao colocar jdbc:banco (ex: jdbc:oracle, jdbc:mssql, etc). Geralmente no site do banco, na parte do driver JDBC, vc encontra esta url.
5- O driver do banco, pode ficar em qlq lugar, dsd d q vc importe o .jar na sua app, atraves da tua IDE.

Se eu falei algo errado, alguem me corrija.
Deu p entender???

Ticianne

Acho que sim…

é… acho que sim

mas pra que serve entao a pasta meta-inf ???

H

Se for a meta-inf do arquivo .jar, ela so serve p guardar arquivos de configs do .jar, mas q n eh usado por vc e sim pelo jar, qnd vc o invoca, por exemplo, eh no manifest.mf q tem qual a classe principal da tua app. Mas n se preocupe c isto, pois a pasta meta-inf tem em td .jar, independente de ser relativo a jdbc ou n.

Ticianne

certo, certo.

Agora, seguinte. Ele nao encontra meu banco.
o mysql ta iniciado, o nome da base é “testando”

mas olha o erro :

java.sql.SQLException: Syntax error or access violation,  message from server: Incorrect database name /testando’”

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1977)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1900)

at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:2471)

at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:813)

at com.mysql.jdbc.Connection.createNewIO(Connection.java:1771)

at com.mysql.jdbc.Connection.(Connection.java:440)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at com.mysql.jdbc.TesteConect.main(TesteConect.java:31)

o mysql criou uma pasta testando, dentro de data.
ele devia encontrar, nao???

:?:

H

Veja se a URL esta correta, eu fiz 1 app usando MySQL aki e a URL era:

conexao = DriverManager.getConnection(“jdbc:mysql://localhost/controle_provas_db”, “login”, “senha”);

so tem 2 barras(/) uma vez. login e senha sao o longin/senha do banco reséctivamente

arrume ai e diga se pegou.

Ticianne

Se ajudar, aqui está meu codigo:

Por favor, deem uma olhadinha…

:slight_smile:

/**
 * @author ticianne
 *
 */
package com.mysql.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class TesteConect {
	//driver e local do banco de dados
	static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
	static final String DATABASE_URL="jdbc:mysql://localhost//testando";
	
	public static void main(String[] args) {
		Connection connection=null; //gerencia a conexao
		Statement statement =null; //instruçao para a consulta
		
		// conectar e consultar o banco
		try{
			Class.forName(JDBC_DRIVER);//carrega a classe do driver no  bd
			
			connection= DriverManager.getConnection(DATABASE_URL,"root","rootlar"); //faz a conexao
			
			statement=connection.createStatement(); //cria Statement para consulta
			
			ResultSet resultSet = statement.executeQuery("SELECT campo FROM teste"); //faz a busca
			
			ResultSetMetaData metaData = resultSet.getMetaData();
		      int ncolunas = metaData.getColumnCount();     
		      System.out.println( "Resultados da busca:" );
		      
		      for ( int i = 1; i <= ncolunas; i++ )
		         System.out.printf( "%-8s\t", metaData.getColumnName( i ));
		      System.out.println();
			
			
			for (int i=1;i<=ncolunas;i++){
				System.out.printf("\n %s \t",metaData.getColumnName(i));
			}
			//while (resultSet.next()){}
			
			
		}catch(SQLException sqle){
			sqle.printStackTrace();
			System.exit(1);
		}
		catch(ClassNotFoundException classex){
			classex.printStackTrace();
			System.exit(1);
		}
		finally {
			try{
				statement.close();
				connection.close();
			}catch(Exception e){
				e.printStackTrace();
				System.exit(1);
			}
			
		}
		
	}
}
Ticianne

Ai ai ai, era so a barra msm, valeu hlds!!!

mt bom, deu beleza,agora!!!

bju!!!

Roger75

Na hora de pegar a conexão tente assim:

return DriverManager.getConnection("jdbc:mysql://localhost:3306/testando", "usuario", "senha");
H

ok, precisando, tamo ai…

nos dê uma pontuacao de acordo c tua avaliacao, eh so escolher no combobox inferior direito do post, escolhe a pontuacao e confirma, vlw :smiley:

Criado 11 de julho de 2006
Ultima resposta 11 de jul. de 2006
Respostas 11
Participantes 4