bug na configuração de um novo banco
10/10/2012 18:29
0
Em conf/DataSource.groovy após configurar um novo banco a ser persistido como abaixo:

development {
dataSource {
username:"nomeUsuario"
password:"senhaUsuario"
driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver" //SQLServer 2008
dbCreate = "update"
url = "jdbc:sqlserver://sqlserver:1433;databaseName=nomeBanco"
}
}

,jogar o driver "sqljdbc4" na pasta lib do projeto e carregar o driver "sqljdbc4" no JAVA build path, e rodo o comando grails> refresh-dependencies (que ocorre com sucesso):

| Loading Grails 2.1.1
| Configuring classpath.
| Environment set to development....
| Dependencies refreshed.

logo após eu rodo o programa com o comando grails> run-app.
Dá um erro, gerado basicamente por o motivo abaixo:
"Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'"

Bem, agora é onde está o bug. Quando eu vou em BuildConfig.groovy e dentro eu vou em dependencies e coloco algo desse tipo:
dependencies {
runtime 'qualquer'
}

e rodo o comando "grails> refresh-dependencies", gera o erro abaixo:

Loading Grails 2.1.1
| Error WARNING: Specified dependency definition runtime(qualquer) is invalid! Skipping..
| Configuring classpath.
| Environment set to development....
| Dependencies refreshed.

mas se eu apagar a linha "runtime 'qualquer'" e dar outro refresh-dependencies, irá rodar com sucesso e agora se eu der um run-app irá rodar tudo com sucesso.

Alguém pode me explicar por que isso ocorre? Toda vez que eu for configurar um novo banco em meu projeto terei que gerar um erro para depois rodar com sucesso?

Caso eu não tenha sido claro na colocação do problema, favor reportar a dúvida.

Grato.
Tags: dependencies, driver, dataSource


0
Opa,
não é o modo como você declarou a dependência não?
Como você está declarando o groupId, artifactId e version do seu driver de acesso ao SQLServer?

No caso, é interessante lembrar que algumas empresasas não disponibilizam os drivers em repositórios do Maven, como Oracle, por exemplo. Nestas situações, minha sugestão pra você é primeiro buscar o driver em sites como o Jarvana www.jarvana.com

Não encontrando, simplesmente copie o arquivo jar para o diretório lib do seu projeto e continue assim: vai evitar muita chateação pra você.


0
Obrigado pela resposta Henrique.
Mas acontece que eu já possuo o driver, foi baixado pelo próprio site da microsoft e ele está funcionando.

O problema é que para ele funcionar, eu tenho que colocar uma linha de código no método dependencies da classe BuildConfig.groovy, rodar, depois comentar a mesma linha e rodar novamente para que o servidor me gere a url de acesso ao projeto.

Isso ja tendo feito o clean do projeto e suas dependencias, refresh de dependencias e run do projeto.
11/10/2012 14:00


0
Oi Victor,

será que não compensa você tirar esta configuração do BuildConfig.groovy e simplesmente ter o arquivo jar copiado no seu diretório lib?


0
Poderia disponibilizar o runtime que você usa na dependencie?
05/08/2013 14:08



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