当使用clojure的korma sqlite3助手时,sqlite3数据库的默认路径是什么?

前端之家收集整理的这篇文章主要介绍了当使用clojure的korma sqlite3助手时,sqlite3数据库的默认路径是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用korma.db时,defdb可以使用sqlite3帮助程序建立与sqlite3数据库的连接.但是,我已经尝试将数据库放在项目目录的根目录下,与project.clj一起放在资源目录中,但是当我尝试使用db时,我得到:

Failure to execute query with sql:
SELECT “examples”.* FROM “examples” :: []
sqlException:
Message: [sqlITE_ERROR] sql error or missing database (no such table: examples)

不用说我的sqlite数据库包含一个示例表.尝试这样做时,我得到一个在根项目目录上放置零字节的sqlite.db文件.

顺便说一句,我是在lein repl的项目中这样做的.

编辑:这是我失败时所做的事情:

(use 'korma.db)
(defdb db (sqlite3 {:db "filename.db"}))
(use 'korma.core)
(defentity examples)
(select examples)

解决方法

万一有人想知道或遇到这个……

使用版本[korma“0.4.2”]
和[org.xerial / sqlite-jdbc“3.7.15-M1”]
在我的project.clj中:

我的项目结构如下:

root/project.clj
root/db/dev.sqlite3
root/src/...

这就是我使用korma访问数据库的方式:

(use 'korma.db)
(defdb mydb {:classname "org.sqlite.JDBC"
      :subprotocol "sqlite"
      :subname "db/dev.sqlite3"})

基本上,使用子名称,我能够在lein项目的根目录中搜索.我在上面的dir结构的子名称添加了db /.

猜你在找的Sqlite相关文章