Grails:未找到适用于jdbc:mysql:和jdbc:sqlserver:
我知道这个问题已经讨论过很多次了,我读过很多关于这个的信息,但是我找不到我的例子的解决方案 我在Grails中有一个项目,我将这些JAR放在Grails:未找到适用于jdbc:mysql:和jdbc:sqlserver:,mysql,sql-server,grails,jdbc,drivers,Mysql,Sql Server,Grails,Jdbc,Drivers,我知道这个问题已经讨论过很多次了,我读过很多关于这个的信息,但是我找不到我的例子的解决方案 我在Grails中有一个项目,我将这些JAR放在/lib/文件夹中: sqljdbc4.jar mysql-connector-java-5.1.25-bin.jar 我的控制器代码是: import groovy.sql.* import com.microsoft.sqlserver.jdbc.*; import com.microsoft.sqlserver.jdbc.SQLServerDriv
/lib/
文件夹中:
sqljdbc4.jar
mysql-connector-java-5.1.25-bin.jar
我的控制器代码是:
import groovy.sql.*
import com.microsoft.sqlserver.jdbc.*;
import com.microsoft.sqlserver.jdbc.SQLServerDriver
class TestConnectionController {
def index() {
---example---------------------------------------------------------
def dbUrl = "jdbc:mysql://mysql_server:3306/"
def dbUser = "login"
def dbPassword = "password"
def dbDriver = "com.mysql.jdbc.Driver"
def sql = Sql.newInstance(dbUrl, dbUser, dbPassword, dbDriver)
sql.eachRow("SELECT * FROM TABLE") {render it}
----------------------------------------------------------------------
or
---example---------------------------------------------------------
def dbUrl = 'jdbc:sqlserver://mssql_server:1433'
def dbUser = "login"
def dbPassword = "password"
def dbDriver = 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
def sql = Sql.newInstance(dbUrl, dbUser, dbPassword, dbDriver)
sql.eachRow("SELECT * FROM [TABLE]") {render it}
----------------------------------------------------------------------
}
}
我做了很多次GrailsClean和——reflesh dependencies
——都没有帮助。我使用了ggts-3.6.4.
和grails-2.4.4
,IDE的JDK文件夹是C:\ProgramFiles(x86)\Java\jdk1.8.0\u 31
我还尝试在Libraries
部分向项目的Java构建路径添加JAR。
此项目在Windows Server 2010上运行。当我在Windows Server 2012 RC2上移动它时,我无法运行它
DataSource.groovy
dataSource {
pooled = true
username = "user"
password = "password"
driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
// cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' // Hibernate 3
cache.region.factory_class = 'org.hibernate.cache.ehcache.EhCacheRegionFactory' // Hibernate 4
singleSession = true // configure OSIV singleSession mode
flush.mode = 'manual' // OSIV session flush mode outside of transactional context
}
// environment specific settings
environments {
development {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:sqlserver://mssql_server;databaseName=login"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:sqlserver://mssql_server;databaseName=login"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:sqlserver://mssql_server;databaseName=login"
}
}
}
您正在尝试使用MySQL驱动程序连接到Microsoft SQL Server吗?我很困惑。@Emmanuel Rosa有两个单独的连接作为示例,第一个使用com.mysql.jdbc.Driver
第二个-com.microsoft.sqlserver.jdbc.SQLServerDriver
。我在密码里写了`或`啊,我明白了。还有一个问题。你为什么不使用依赖关系管理来获取驱动程序,然后使用gorm来查询数据库?@Emmanuel Rosa我使用了DataSource.groovy(添加到主帖子中),这也无助于解决问题。因此,基本上你缺少驱动程序。不幸的是,我在maven中找不到它,因此我不知道如何在build.groovy中指定依赖项:(