【问题标题】:Connecting a groovy application to SQL server Express将 groovy 应用程序连接到 SQL Server Express
【发布时间】:2013-01-09 11:46:03
【问题描述】:

我按照下面的教程进行操作,但必须有一些重要的步骤来假设我没有的知识。

http://padcom13.blogspot.co.uk/2011/01/setting-up-sql-server-2008-express-to.html

下面是我的 datasource.groovy 中的设置

username = "sa"
password = ""
url = "jdbc:sqlserver://localhost:1433;databaseName=Sandpit"
driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
dialect = "org.hibernate.dialect.SQLServerDialect"

以下是运行应用命令时弹出的错误

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.microsoft.sqlserver.jdbc.SQLServerDriver'
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.microsoft.sqlserver.jdbc.SQLServerDriver'

在没有看到我的应用程序运行的情况下工作了几天......有什么建议吗?

【问题讨论】:

  • 您是否已将sqljdbc4.jar 复制到您的lib 文件夹中?
  • 是的,并且配置了 IDE 构建路径

标签: grails jdbc datasource sql-server-express


【解决方案1】:

根本原因是Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'

那是因为类路径中缺少您的驱动程序。对于 SQL Server,您需要将 jar 复制到 lib 文件夹。

在其他情况下,例如 MySQL,您可以声明为 maven 依赖项。

【讨论】:

  • 非常接近,谢谢,事情再次启动,但我收到警告错误警告:指定的依赖定义运行时(com.microsoft.sqlserver.jdbc.SQLServerDriver)无效!跳过..
  • 并且新增的信息都没有提交到对应的表 static mapping = { table 'MusicCatalogue' cache true id column: 'ID' artist column: 'ARTIST' track column: 'TRACK'专辑栏:“专辑”}
  • 好的,编辑并删除了 maven 依赖项,因为在这种情况下 sql server 不可用。只需将 jar 复制到 lib 文件夹即可。
  • 对不起,请允许我纠正自己。它正在运行,你是对的。但没有将信息持久化到数据库中。我的网址设置有什么不准确的地方吗???
  • 哦,你太棒了!我发现我是个白痴,我的数据源中有多个 URL,所以它仍然指向内存。全部排序所有工作。如果我有声望,我会投票给你。谢谢
【解决方案2】:

我们正在做和你一样的事情。 因此,我们的 /lib 目录中有 sqljdbc.jar。

在我们的 DataSource.groovy 中我们有:

dbCreate = "update" // one of 'create', 'create-drop','update'
username = "dbo"
driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
url = "jdbc:sqlserver://devdb02:1433;databaseName=my_database;"

我记得只有 .jar 是不够的,我认为您需要将一小部分安装到您的 windows/unix 目录中,例如从这里开始:

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774

(如果您可能将 PHP 与 MSSQL 一起使用,这也是需要的)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-08
  • 2010-11-26
  • 2013-03-23
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
相关资源
最近更新 更多