2010-11-11 5 views
0

Je suis un débutant en apprenant Grails en développant une petite application qui récupère les codes d'une base de données. Les détails sont les suivants: -
- Apple Mac OS X (c'est-à-dire Unix).
- Grailles 1.3.5 utilisant NetBeans 6.9.1.
- Base de données SQL Server 2008 R2, située sur un serveur différent.
- JTDS piloteGrails App impossible de se connecter à SQL Server (réponse mal formée de SOCKS Server)

Voici le DataSource.groovy -

dataSource { 
    pooled = false 
    driverClassName = "net.sourceforge.jtds.jdbc.Driver" 
    dialect="org.hibernate.dialect.SQLServerDialect" 

} 
hibernate { 
    cache.use_second_level_cache = true 
    cache.use_query_cache = true 
    cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider' 
} 
// environment specific settings 
environments { 
    development { 
      dataSource { 
      dbCreate = "update" // one of 'create', 'create-drop','update' 
      url = "jdbc:jtds:sqlserver://hbtsqldev.domain.omitted.com.au:1433;databasename=TempDatabase;useCursorFetch=true;user=username;password=omitted" 

     } 
    } 
    test { 
     dataSource { 
      dbCreate = "update" 
      url = "jdbc:jtds:sqlserver://hbtsqldev.domain.omitted.com.au:1433;databasename=TempDatabase;useCursorFetch=true;user=username;password=omitted" 
     } 
    } 
    production { 
     dataSource { 
      dbCreate = "update" 
      url = "jdbc:jtds:sqlserver://hbtsqldev.domain.omitted.com.au:1433;databasename=TempDatabase;useCursorFetch=true;user=username;password=omitted" 
     } 
    } 
} 

Quand je lance l'application Grails, je reçois les messages d'erreur suivants (très longue) -

2010-11 -11 10: 58: 00,709 [principal] ERREUR context.GrailsContextLoader - Erreur exécution de bootstraps: Erreur lors de la création du bean avec le nom 'messageSource': Initialisation du haricot échoué; imbriqué exception est org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom « transactionManager »: Impossible de résoudre référence aux haricots « sessionFactory » tout en définissant la propriété de haricots « sessionFactory »; exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom « sessionFactory »: Impossible de résoudre référence aux haricots « lobHandlerDetector » tout en définissant la propriété de haricots « lobHandler »; l'exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur lors de la création du bean avec le nom 'lobHandlerDetector': L'appel de la méthode init a échoué; l'exception imbriquée est org.springframework.jdbc.support.MetaDataAccessException: Erreur lors de l'extraction DatabaseMetaData; exception imbriquée est java.sql.SQLException: Erreur réseau IOException: malformée réponse serveur SOCKS org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom 'MessageSource': Initialisation de haricots a échoué; exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom « transactionManager »: Impossible de résoudre référence aux haricots « sessionFactory » tout en définissant la propriété de haricots « sessionFactory »; exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom « sessionFactory »: Impossible de résoudre référence aux haricots « lobHandlerDetector » tout en définissant la propriété de haricots « lobHandler »; l'exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur lors de la création du bean avec le nom 'lobHandlerDetector': L'appel de la méthode init a échoué; l'exception imbriquée est org.springframework.jdbc.support.MetaDataAccessException: Erreur lors de l'extraction DatabaseMetaData; l'exception imbriquée est java.sql.SQLException: Erreur réseau IOException: réponse malformée de SOCKS serveur à org.grails.tomcat.TomcatServer.start (TomcatServer.groovy: 212) à grails.web.container.EmbeddableServer $ start.call (Source inconnue ) à _GrailsRun_groovy $ _run_closure5_closure12.doCall (_GrailsRun_groovy: 158) à _GrailsRun_groovy $ _run_closure5_closure12.doCall (_GrailsRun_groovy) à _GrailsSettings_groovy $ _run_closure10.doCall (_GrailsSettings_groovy: 280) à _GrailsSettings_groovy $ _run_closure10.call (_GrailsSettings_groovy) à _GrailsRun_g roovy $ _run_closure5.doCall (_GrailsRun_groovy: 149) à _GrailsRun_groovy $ _run_closure5.call (_GrailsRun_groovy) à _GrailsRun_groovy.runInline (_GrailsRun_groovy: 116) à _GrailsRun_groovy.this $ 4 $ runInline (_GrailsRun_groovy) à _GrailsRun_groovy $ _run_closure1 .doCall (_GrailsRun_groovy: 59) à RunApp $ _run_closure1.doCall (RunApp.groovy: 33) à gant.Gant $ _dispatch_closure5.doCall (Gant.groovy: 381) à gant.Gant $ _dispatch_closure7.doCall (Gant. groovy: 415) à gant.Gant $ _dispatch_closure7.doCall (Gant.groovy) à gant.Gant.wit hBuildListeners (Gant.groovy: 427) à gant.Gant.this 2 $ withBuildListeners de $ (Gant.groovy) à gant.Gant $ ce 2 $ withBuildListeners.callCurrent (Source inconnue ) à gant.Gant.dispatch (Gant.groovy: 415) à gant.Gant.this 2 $ expédition de $ (Gant.groovy) à gant.Gant.invokeMethod (Gant.groovy) à gant.Gant.executeTargets (Gant.groovy: 590) à gant.Gant.executeTargets (Gant.groovy: 589) causés par: org.springframework.beans.factory.BeanCreationException: erreur de création de haricot avec le nom 'transactionManager': Impossible de résoudre la référence au bean 'sessionFactory' lors de la définition de la propriété bean 'sessionFactory'; exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom « sessionFactory »: Impossible de résoudre référence aux haricots « lobHandlerDetector » tout en définissant la propriété de haricots « lobHandler »; l'exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur lors de la création du bean avec le nom 'lobHandlerDetector': L'appel de la méthode init a échoué; l'exception imbriquée est org.springframework.jdbc.support.MetaDataAccessException: Erreur lors de l'extraction DatabaseMetaData; exception imbriquée est java.sql.SQLException: Erreur réseau IOException: réponse malformée de serveur SOCKS ... 23 plus provoquée par: org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom 'sessionFactory' : Impossible de résoudre la référence au bean 'lobHandlerDetector' lors de la définition de la propriété bean 'lobHandler'; L'exception imbriquée est org.springframework.beans.factory.BeanCreationException: Erreur lors de la création du bean avec le nom 'lobHandlerDetector': L'appel de la méthode init a échoué; l'exception imbriquée est org.springframework.jdbc.support.MetaDataAccessException: Erreur lors de l'extraction DatabaseMetaData; exception imbriquée est java.sql.SQLException: Erreur réseau IOException: réponse malformée de serveur SOCKS ... 23 plus provoquée par: org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom 'lobHandlerDetector' : L'appel de la méthode init a échoué; l'exception imbriquée est org.springframework.jdbc.support.MetaDataAccessException: Erreur lors de l'extraction DatabaseMetaData; exception imbriquée est java.sql.SQLException: Erreur réseau IOException: réponse malformée de serveur SOCKS ... 23 plus provoquée par: org.springframework.jdbc.support.MetaDataAccessException: Erreur lors de l'extraction DatabaseMetaData; exception imbriquée est java.sql.SQLException: Erreur réseau IOException: réponse malformée de serveur SOCKS ... 23 plus provoquée par: java.sql.SQLException: Erreur réseau IOException: réponse malformée du serveur SOCKS à net .sourceforge.jtds.jdbc.ConnectionJDBC2. (ConnectionJDBC2.java:410) à net.sourceforge.jtds.jdbc.ConnectionJDBC3. (ConnectionJDBC3.java:50) à net.sourceforge.jtds.jdbc.Driver.connect (Driver.java:184) à java.sql.DriverManager.getConnection (DriverManager.java:582) à java.sql.DriverManager.getConnecti sur (DriverManager.java:154) à $ Proxy8.getMetaData (Source inconnue ) ... 23 plus provoquée par: java.net.SocketException: malformée réponse du serveur SOCKS java.net.SocksSocketImpl.readSocksReply (SocksSocketImpl.java:147) à java.net.SocksSocketImpl.connect (SocksSocketImpl.java:495) à java.net.Socket.connect (Socket.java:529) à net.sourceforge.jtds.jdbc .SharedSocket.createSocketForJDBC3 (SharedSocket.java:307) à net.sourceforge.jtds.jdbc.SharedSocket. (SharedSocket.java:257) à net.sourceforge.jtds.jdbc.Connectio nJDBC2. (ConnectionJDBC2.java:311) ... 28 plus

Quelqu'un peut-il voir où le problème est peut-être? Si vous avez besoin de moi pour plus d'informations, s'il vous plaît faites le moi savoir.

+0

Essayez de supprimer 'useCursorFetch' de la chaîne de connexion. Pour commencer, assurez-vous que l'utilisateur de connexion ne souffre pas de privilèges manquants. - Important: Regardez les journaux SQL Server. – robbbert

Répondre

0

Etes-vous capable d'exécuter une commande ping sur le serveur de base de données à partir duquel vous exécutez votre tomcat? J'utilise Grails 1.3.5 avec SQL Server 2005 avec Microsoft JDBC 4.0 Driver. Fonctionne bien pour moi.

dataSource.driverClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver 
dataSource.url = jdbc:sqlserver://dbserver:1433;databaseName=testDB 
+0

Je suis capable de ping et de telnet le serveur, mais je suis incapable d'établir une connexion à la base de données dans Grails ou RazorSQL. Dans les deux cas, je reçois une erreur de connexion de timeout. – Spacehamster

Questions connexes