Erro na conexão com o banco
09/07/2012 03:09
0
Como sou iniciante no Grails, talvez vou fala merda(kkkkk). Criei um projeto e configurei o meu DataSource.


dataSource {
pooled = true
driverClassName = "com.mysql.jdbc.Driver"//"org.h2.Driver"
username = "root"
password = ""
dialect = "org.hibernate.dialect.MySQLDialect"
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:mysql://localhost:3306/gpsoftware" // "jdbc:h2:mem:devDb;MVCC=TRUE"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:mysql://localhost:3306/gpsoftware"//"jdbc:h2:prodDb;MVCC=TRUE"
pooled = true
properties {
maxActive = -1
minEvictableIdleTimeMillis=1800000
timeBetweenEvictionRunsMillis=1800000
numTestsPerEvictionRun=3
testOnBorrow=true
testWhileIdle=true
testOnReturn=true
validationQuery="SELECT 1"
}
}
}
}

Mas, quando eu rodo o meu projeto dá um erro.

Error 2012-07-08 23:42:48,455 [pool-7-thread-1] ERROR context.GrailsContextLoader - Error executing bootstraps: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'lobHandlerDetector' while setting bean property 'lobHandler'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lobHandlerDetector': Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
Message: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'lobHandlerDetector' while setting bean property 'lobHandler'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lobHandlerDetector': Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

Eu não sei o que é. Alguem pode me ajudar ?
Tags: Erro na conexão com o banco


0
Olá, Marcos.

O Grails não achou o driver JDBC. Falou
- ou colocar o ".jar" na pasta "lib"
- ou configurar o driver no BuildConfig.groovy

Abraços.


0
No próprio arquivo BuildConfig.groovy que está na pasta grails-app/conf tem a dependência do driver para MySql comentado é só "descomentar" e dar um "grails clean", e "grails run-app", espero ter ajudado, abraço.
09/07/2012 12:13


0
ibotirama, dei o grails clean e criei o banco no MySQL, só o banco e mandei roda novamente e deu certo.

Valeu pela ajudo.
09/07/2012 16:59


0
Marcos,

Se o erro é o mesmo, continua o problema da não configuração do Driver do Mysql. Como você configurou o Driver? No BuildConfig.groovy ou colocando o jar na pasta "lib"?

O "clean" nem era necessário, aliás. A configuração do driver, sim.


0
José Yoshiriro, coloquei o .jar na pasta lib. Eu dei o clean porque, como eu rodei algumas vezes na tentativa de conserta o erro, talvez o Grails estva "olhando" para os arquivo já compilado. Dei o clean pra limpa e criar novos arquivos com a nova configuração.
09/07/2012 17:46


0
Olá.

Amigo, você disse que é iniciante em Grails. Mas já mexia com Java/JDBC/Hibernate antes?

Porque inicantes nessas outras tecnologias costumam errar no arquivo ".jar" também. Simplesmente usam o errado.

Porque não tem como não dar certo. Todo projeto novo que faço ou palestra de Grails, enfim, sempre acertei configurar isso de 1a. sem bronca nenhuma. Agora, sempre uso a IDE STS e não o Grails "no braço". Não sei se a IDE faz alguma "mágica" pra mim.

O erro ainda é o mesmo? Ou seja, o último ponto do StackTrace ainda consta como
Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

?

Abraços.


0
Blza Marcos, disponha eu passei o 'clean', por que por diversas vezes em versões mais antigas como 1.3.7 por exemplo eu tive alguns problemas na configuração e e algumas vezes o ambiente ficou meio bagunçado pelas tentativas e erros, então antes de você fazer certo e dar algum outro problema, dá logo uma limpa nas dependências e baixa novamente apenas o que é necessário e pronto, e isso é aconselhado inclusive quando se vai gerar o war de produção.

Espero ter ajudado, abraço.
10/07/2012 11:10


0
Olá . passei pelo mesmo problema quado comecei a utilizar a versão do grails 2.0.4 não encontra o jar assim tive que baixar uma versão mais atualizado do driver e resolveu porem eu estou usando o postgres mas acho que dever ser algo parecido.
10/07/2012 12:05



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto