Problemas de conexão com o banco

14 respostas
A

Olá pessoal, criei o sistema igual ao tutorial introdução ao hibernate 3, mas não consigo fazer conexão com o banco.
Tenho que criar um usuário no MySQL 4.1 para poder ter acesso ao banco ou so digitar uma senha na instalação? No meu MySQL 4.1 so tem a senha de instalação e quando vou compilar o programa abro o netbeans e depois o Mysql 4.1 em modo texto, digito a senha e use e o nome do banco.
Se possível me ajudem corrigindo algum destes passos ou com alguma apostila ou link explicando

muito obrigado

André

14 Respostas

Bravox

Cara o senha default do mysql e em branco e o usuário é root

inicie o servidor mysql e depois entre no diretório bin através do prompt digite o seguinte comando

Bravox

Bravox

Dica

abaixe a versão zip do mysql e descompacta ele no diretório de sua preferência depois é só usar o mysql !!

Bravox

nilolima

Só lembrando que lá no hibernate.cfg.xml vc configura o nome de usuário e a senha do seu banco. Mas como vc fez para criar as tabelas sem ter a senha do banco?
Se vc já tiver uma senha basta configurar la no hibernate.cfg.xml.

Valeu

A

a minha classe cfg é esta:

<property 
		name="hibernate.dialect">
		org.hibernate.dialect.MySQLDialect
	</property>
	<property 
		name="hibernate.connection.driver_class">
		com.mysql.jdbc.Driver
	</property>
	<property 
		name="hibernate.connection.url">
		jdbc:mysql://localhost/banco?autoReconnect=true
	</property>
	<property 
		name="hibernate.connection.username">
                    root
                    
	</property>
	<property 
		name="hibernate.connection.password">
                    123
	</property>		
	
	<!-- Condiguração do c3p0 -->
	
	<property name="hibernate.c3p0.max_size">10</property>
	<property name="hibernate.c3p0.min_size">2</property>
	<property name="hibernate.c3p0.timeout">5000</property>		
	<property name="hibernate.c3p0.max_statements">10</property>
	<property name="hibernate.c3p0.idle_test_period">3000</property>
	<property name="hibernate.c3p0.acquire_increment">2</property>			

	<!-- Configurações de debug -->

	<property name="show_sql">true</property>
    <property name="use_outer_join">true</property>	
    <property name="hibernate.generate_statistics">true</property>
    <property name="hibernate.use_sql_comments">true</property>
    	
	<mapping resource="Curso.hbm.xml"/>
	<mapping resource="Disciplina.hbm.xml"/>
	<mapping resource="Turma.hbm.xml"/>			
	<mapping resource="Pessoa.hbm.xml"/>	
	<mapping resource="Aluno.hbm.xml"/>		
	<mapping resource="Professor.hbm.xml"/>		
	<mapping resource="Endereco.hbm.xml"/>
		
</session-factory>

e o banco:

CREATE TABLE Pessoa (

id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

nome VARCHAR(255) NULL,

email VARCHAR(255) NULL,

telefone VARCHAR(255) NULL,

PRIMARY KEY(id)

);
CREATE TABLE Curso (

id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

nome VARCHAR(255) NULL,

descricao TEXT NULL,

PRIMARY KEY(id)

);
CREATE TABLE Professor (

Pessoa_id INTEGER UNSIGNED NOT NULL,

titulo VARCHAR(255) NULL,

PRIMARY KEY(Pessoa_id),

INDEX Professor_FKIndex1(Pessoa_id),

FOREIGN KEY(Pessoa_id)

REFERENCES Pessoa(id)

ON DELETE NO ACTION

ON UPDATE NO ACTION

);
CREATE TABLE Endereco (

Pessoa_id INTEGER UNSIGNED NOT NULL,

rua VARCHAR(255) NULL,

numero INTEGER UNSIGNED NULL,

bairro VARCHAR(255) NULL,

estado VARCHAR(255) NULL,

complemento TEXT NULL,

cep VARCHAR(255) NULL,

cidade VARCHAR(255) NULL,

PRIMARY KEY(Pessoa_id),

INDEX Endereco_FKIndex1(Pessoa_id),

FOREIGN KEY(Pessoa_id)

REFERENCES Pessoa(id)

ON DELETE NO ACTION

ON UPDATE NO ACTION

);
CREATE TABLE Aluno (

Pessoa_id INTEGER UNSIGNED NOT NULL,

matricula VARCHAR(255) NULL,

PRIMARY KEY(Pessoa_id),

INDEX Aluno_FKIndex1(Pessoa_id),

FOREIGN KEY(Pessoa_id)

REFERENCES Pessoa(id)

ON DELETE NO ACTION

ON UPDATE NO ACTION

);
CREATE TABLE Disciplina (

id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

Curso_id INTEGER UNSIGNED NOT NULL,

nome VARCHAR(255) NULL,

ementa TEXT NULL,

PRIMARY KEY(id),

INDEX Disciplina_FKIndex1(Curso_id),

FOREIGN KEY(Curso_id)

REFERENCES Curso(id)

ON DELETE NO ACTION

ON UPDATE NO ACTION

);

CREATE TABLE Turma (

id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

Disciplina_id INTEGER UNSIGNED NOT NULL,

Professor_Pessoa_id INTEGER UNSIGNED NOT NULL,

nome VARCHAR(255) NULL,

PRIMARY KEY(id),

INDEX Turma_FKIndex1(Professor_Pessoa_id),

INDEX Turma_FKIndex2(Disciplina_id),

FOREIGN KEY(Professor_Pessoa_id)

REFERENCES Professor(Pessoa_id)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

FOREIGN KEY(Disciplina_id)

REFERENCES Disciplina(id)

ON DELETE NO ACTION

ON UPDATE NO ACTION

)

;
CREATE TABLE Turma_has_Aluno (

Turma_id INTEGER UNSIGNED NOT NULL,

Aluno_Pessoa_id INTEGER UNSIGNED NOT NULL,

PRIMARY KEY(Turma_id, Aluno_Pessoa_id),

INDEX Turma_has_Aluno_FKIndex1(Turma_id),

INDEX Turma_has_Aluno_FKIndex2(Aluno_Pessoa_id),

FOREIGN KEY(Turma_id)

REFERENCES Turma(id)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

FOREIGN KEY(Aluno_Pessoa_id)

REFERENCES Aluno(Pessoa_id)

ON DELETE NO ACTION

ON UPDATE NO ACTION

)

;

Para criar o banco eu digitei senha do mysql 123, create database banco; e use banco;

A

para mim usar o banco é só digitar use banco e deixar o propt aberto

nilolima

Qual o erro que ele ta imprimindo no console?

A
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).

log4j:WARN Please initialize the log4j system properly.

Initializing c3p0 pool com.mchange.v2.c3p0.PoolBackedDataSource@126e85f [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@3ecfff [ acquireIncrement -> 2, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, idleConnectionTestPeriod -> 3000, initialPoolSize -> 2, maxIdleTime -> 5000, maxPoolSize -> 10, maxStatements -> 10, maxStatementsPerConnection -> 0, minPoolSize -> 2, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@1d9fd51 [ description -> null, driverClass -> null, factoryClassLocation -> null, jdbcUrl -> jdbc:mysql://localhost/banco?autoReconnect=true, properties -> {user=******, password=******} ] , preferredTestQuery -> null, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ] , factoryClassLocation -> null, numHelperThreads -> 3, poolOwnerIdentityToken -> 126e85f ]

Tue Aug 22 09:37:34 BRT 2006 TRACE:  --> NonRegisteringDriver.java:210 com.mysql.jdbc.NonRegisteringDriver.acceptsURL(jdbc:mysql://localhost/banco?autoReconnect=true”)

Tue Aug 22 09:37:35 BRT 2006 TRACE:   --> NonRegisteringDriver.java:436 com.mysql.jdbc.NonRegisteringDriver.parseURL(jdbc:mysql://localhost/banco?autoReconnect=true”, null)

Tue Aug 22 09:37:35 BRT 2006 TRACE:    --> StringUtils.java:1110 com.mysql.jdbc.StringUtils.startsWithIgnoreCase(jdbc:mysql://localhost/banco?autoReconnect=true”, “jdbc:mysql://”)

Tue Aug 22 09:37:35 BRT 2006 TRACE:     --> StringUtils.java:1094 com.mysql.jdbc.StringUtils.startsWithIgnoreCase(jdbc:mysql://localhost/banco?autoReconnect=true”, 0, “jdbc:mysql://”)

Tue Aug 22 09:37:35 BRT 2006 TRACE:     <--  StringUtils.java:1094 com.mysql.jdbc.StringUtils.startsWithIgnoreCase() returning true

Tue Aug 22 09:37:35 BRT 2006 TRACE:    <--  StringUtils.java:1110 com.mysql.jdbc.StringUtils.startsWithIgnoreCase() returning true

Tue Aug 22 09:37:35 BRT 2006 TRACE:    --> StringUtils.java:834 com.mysql.jdbc.StringUtils.indexOfIgnoreCase(0, autoReconnect=true, =)

Tue Aug 22 09:37:35 BRT 2006 TRACE:    <--  StringUtils.java:834 com.mysql.jdbc.StringUtils.indexOfIgnoreCase() returning 13
A

Eu tenho que colocar na pasta lib do jsdk os arquivos do hibernate e do conector do mysql 4.1

nilolima

Andre le direitinho la o artigo do Mauricio que vc vai resolver seus problemas.
Vc tem que colocar no classpath o driver de conexão com o banco e no caso do myqsl tem que colocar o "aspectjrt.jar” e o “aspectjtools.jar”. Tem tudo isso escrito no artigo.

A

Qual artigo do Mauricio? Aquele que diz a respeito que tem que configurar a variaveis de ambiente? Eu ja fiz isso, so que nao coloquei os arquivos .jar do conector e do hibernate lá na variavel de ambiente. Tem que por?

A

Qual artigo do Mauricio? Aquele que diz a respeito que tem que configurar a variaveis de ambiente? Eu ja fiz isso, so que nao coloquei os arquivos .jar do conector e do hibernate lá na variavel de ambiente. Tem que por?

nilolima

Tem.

K

depois de adicionar um usuário, temos que dar permissão para ele poder operar no MySQL, mostrando também qual database ele pode alterar, ou todas. infelizmente nunca lembro desse comando de cabeça, mas na documentacao em portugues do MYSQL tem, logo depois de como diz pra vc adicionar o user.

A

Os arquivos .jar do hibernate e do conector do mysql4.1 eu adicionei como biblioteca do netbeans pelo menu tools -library manager, então além disso tenho que adicionar no classpath.

Criado 21 de agosto de 2006
Ultima resposta 23 de ago. de 2006
Respostas 14
Participantes 4