简体   繁体   English

GRAILS 3 SQL Express:无驱动程序

[英]GRAILS 3 sql express: no driver

I recently installed grails 3.1.x and tested it with mysql. 我最近安装了grails 3.1.x,并使用mysql测试了它。 All right. 好吧。 When I moved similarly to MS express 2008 I found: No suitable driver found for jdbc:sqlserver. 当我以类似于MS Express 2008的方式移动时,我发现: 没有找到适用于jdbc:sqlserver的驱动程序。 I am not able to find a correct MS dependency with maven so I downloaded basic jdbc4.jar from Microsoft server, but GRAILS does not know I have it; 我无法使用maven找到正确的MS依赖关系,因此我从Microsoft服务器下载了基本的jdbc4.jar,但是GRAILS不知道我拥有它。 so 所以

  • where should I put it to install it manually? 我应该把它放在哪里手动安装?
  • Some on GRAILS 2.x say about lib folder but I tried it without success. GRAILS 2.x上的一些人说到lib文件夹,但是我尝试没有成功。

Thanks for any hint. 感谢您的任何提示。

It is more gradle issue than grails. 这比grails更具说服力。 You must tell gradle where this driver is located. 您必须告诉gradle该驱动程序位于何处。 As it cannot be pulled from any maven repo it can be added as local file dependency. 由于无法将其从任何Maven存储库中提取,因此可以将其添加为本地文件依赖项。 See the documentation . 请参阅文档

Add to build.gradle something like this: 添加到build.gradle这样的事情:

dependencies {
  compile files('libs/jdbc4.jar')
  //... already added dependencies 
}

I got it! 我知道了! It is possible to use jtds driver, via Maven. 可以通过Maven使用jtds驱动程序。 So simply 很简单

  • put runtime 'net.sourceforge.jtds:jtds:1.3.1' in build.gradle file runtime 'net.sourceforge.jtds:jtds:1.3.1'放入build.gradle文件中
  • and use correct syntax in Datasource like driverClassName = "net.sourceforge.jtds.jdbc.Driver" dialect = "org.hibernate.dialect.SQLServerDialect" url = "jdbc:jtds:sqlserver://127.0.0.1:1433;databaseName=db_name" username = "sa" password = "my_password" 并在数据源中使用正确的语法,例如driverClassName = "net.sourceforge.jtds.jdbc.Driver" dialect = "org.hibernate.dialect.SQLServerDialect" url = "jdbc:jtds:sqlserver://127.0.0.1:1433;databaseName=db_name" username = "sa" password = "my_password"

I am not sure dialect is mandatory. 我不确定方言是否必须。 Of course it is important to manage properly configuration of DB express to have port 1433 static, not dynamic which is default, and default user SA with password authentication. 当然,正确管理DB Express的配置以使其具有静态的端口1433(不是默认端口)和具有密码验证的默认用户SA(静态端口)非常重要。 But it works, after many research days! 但是经过许多研究工作,它仍然有效!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM