我可以访问repl,我可以连接uri
。如何连接,查看存在哪些实体和属性,然后查看其值,然后向下钻取等等?我只是使用我没有注册的免费版本。
到目前为止,这是我尝试过的:
C:\programs\datomic-free-0.9.5327>.\bin\repl
Clojure 1.6.0
user=> (use '[datomic.api :only [q db] :as d])
nil
user=> (def conn (d/connect "datomic:dev://localhost:4334/somedb"))
IllegalArgumentExceptionInfo :db.error/unsupported-protocol Unsupported protocol :dev datomic.error/arg (error.clj:57)
user=>
user=> (def conn (d/connect "datomic://localhost:4334/somedb"))
IllegalArgumentExceptionInfo :db.error/invalid-db-uri Invalid database URI datomic://localhost:4334/somedb datomic.error/arg (error.clj:57)
user=> (def conn (d/connect "datomic:mem//somedb"))
IllegalArgumentExceptionInfo :db.error/invalid-db-uri Invalid database URI datomic:mem//somedb datomic.error/arg (error.clj:57)
使用MySql或Oracle数据库,操作员能够(给定正确的密码)列出所有数据库,连接到其中一个数据库,查看其表,然后通过查询其中一个来开始滚动。
即使这个数据库(' somedb')在内存中也是如此,我仍然希望它存在,因为有一个交易者在运行。然而,交易者有点怀疑,因为这就是它的样子:
C:\programs\datomic-free-0.9.5327>.\bin\transactor .\config\samples\free-transactor-template.properties
Starting datomic:free://localhost:4334/<DB-NAME>, storing data in: data ...
System started datomic:free://localhost:4334/<DB-NAME>, storing data in: data
我对查询应该启动并运行的数据库感到困惑。
答案 0 :(得分:3)
我可以澄清这些错误:
user=> (use '[datomic.api :only [q db] :as d])
nil
user=> (def conn (d/connect "datomic:dev://localhost:4334/somedb"))
IllegalArgumentExceptionInfo :db.error/unsupported-protocol Unsupported protocol :dev datomic.error/arg (error.clj:57)
这里的URI格式正确,但错误表明您正在尝试访问专属存储(dev)而不是free(free和mem)允许的存储。请注意,您可以使用免费级别的入门许可证访问专业存储格式(即您不需要付费许可证即可使用它)。
user=> (def conn (d/connect "datomic://localhost:4334/somedb"))
IllegalArgumentExceptionInfo :db.error/invalid-db-uri Invalid database URI datomic://localhost:4334/somedb datomic.error/arg (error.clj:57)
此处您根本没有指定存储协议,即第一次调用中dev
的位置。这是必需的。
user=> (def conn (d/connect "datomic:mem//somedb"))
IllegalArgumentExceptionInfo :db.error/invalid-db-uri Invalid database URI datomic:mem//somedb datomic.error/arg (error.clj:57)
在:
之后,您错过了mem
。对于上述错误,connect的API文档涵盖了正确的URI构造。
您可以列出get-database-names
的数据库,记录here。
要启动并运行查询,您可能会使用console获得更好的初次体验,这是一个处理此数据库自动列表,连接到一个数据库,查询等的Web应用程序/ GUI。