加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Grails和SQLite

发布时间:2020-12-12 18:59:10 所属栏目:百科 来源:网络整理
导读:试图让SQLite使用grails …我在网上找到的东西似乎有点过时了 – 引用常春藤和插件等等,但基于这些: https://stackoverflow.com/questions/1199512/grails-sqlitehttp://bigohno.blogspot.com/2010/01/groovy-on-grails-sqlite.htmlhttp://maven-repository
试图让SQLite使用grails …我在网上找到的东西似乎有点过时了 – 引用常春藤和插件等等,但基于这些:

https://stackoverflow.com/questions/1199512/grails-sqlite
http://bigohno.blogspot.com/2010/01/groovy-on-grails-sqlite.html
http://maven-repository.com/artifact/org.xerial/sqlite-jdbc/3.6.17

我已经能够在测试环境中工作……奇怪的是,当我“推销”我的grails应用程序并部署到tomcat时,它失败了:

找不到方言类:hibernate.SQLiteDialect

这是我的设置:

在conf / hibernate中为SQLiteDialect添加了一个类.这个.java是从这里获取的http://code.google.com/p/hibernate-sqlite/

然后在我的DataSource.groovy中我有:

hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {
            // SQLite
            // !!!see also BuildConfig for Dependancies!!!
            dbCreate="update"
            url='jdbc:sqlite:C:sqlite-shell-win32-x86-3080100rss_1.db'
            logSql="true"
            dialect="hibernate.SQLiteDialect"
            driverClassName="org.sqlite.JDBC"
            readOnly="true"

        }
    }

    production {
        dataSource {
            // SQLite
            dbCreate="update"
            url="jdbc:sqlite:/opt/sqlite/dbs/rss/1/rss_1.db"
            logSql="true"
            dialect="hibernate.SQLiteDialect"
            driverClassName="org.sqlite.JDBC"
            readOnly="true"
            showsql="false"

        }
    }
}

在BuildConfig.groovy我有:

dependencies {

        runtime 'org.xerial:sqlite-jdbc:3.6.17'

    }

我还把.java方言类装进了lib并放入了lib中 – 有些帖子说这有帮助.我还在lib中放了sqlite-jdbc-3.7.15-M1.jar.

现在,当我在我的开发环境中运行应用程序时它运行良好…但是当我部署到tomcat时,我得到了方言错误.

对于方言的刺激环境,我需要做些什么特别的事情吗?

解决方法

以下是使用Grails设置SQLite的方法:

从http://www.sqlite.org/download.html下载SQLite,解压缩并保存到目录.您可能还想为数据库创建目录.

从https://bitbucket.org/xerial/sqlite-jdbc下载SQLite JDBC jar并将jar放在grails lib目录中.

下载一个SQLIte方言…谷歌搜索,因为有很多,但你可以参考https://github.com/gwenn/sqlite-dialect或https://gist.github.com/virasak/54436

在grails中,在src / java中创建一个类并将你的方言代码放入.

我也把这个课打起来,然后将jar放入lib中.

设置grails数据源,例如:

dataSource {
            // SQLite
            dbCreate="update"
            url="jdbc:sqlite:/opt/sqlite/dbs/rss/1/rss_1.db"
            logSql="true"
            dialect="SQLiteDialect"
            driverClassName="org.sqlite.JDBC" 
}

注意:根据您的sqlite方言类是否在包中,您可能需要在包名称前加上上面的方言(我的不是).

在BuildConfig.groovy中,向sqlite jdbc添加依赖项,如下所示:

dependencies {

        runtime 'org.xerial:sqlite-jdbc:3.6.17'

    }

这对我有用!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读