1

我正在开发一个使用 Ektorp 框架与 CouchDB 通信的 Java 应用程序。我使用以下代码创建一个新的 CouchDbInstance:

HttpClient httpClient = new StdHttpClient.Builder()
    .host("localhost")
    .port("5984")
    .username("")
    .password("");

/* no user name and password required because, its admin party */

CouchDbInstance couchDbInstance = new StdCouchDbInstance(httpClient);

现在我想在创建/修改等文档之前测试与 CouchDB 的连接。没有测试连接的方法。你有什么建议吗?

4

3 回答 3

1

您可以使用 CouchDbConnector#getDbInfo()

于 2013-03-17T14:06:08.340 回答
1

我在我当前的项目中使用 Ektorp,我们正在使用 couchDbConnector.getAllDatabases() 进行测试,捕获 DbAccessExceptions。

与 checkIfDbExists() 相比,这有一点优势,即完全不知道在 CouchDB 服务器上配置的实际数据库,并且不引用任何特定于应用程序的配置进行连接检查,感觉更简洁一些。

于 2013-03-26T17:08:37.663 回答
-1

我目前正在使用 ektorp 开展一个项目,并且正在像这样测试我的数据库连接。

第 1 步 - 连接到 HttpClient 就像你做的那样

    HttpClient httpClient = new StdHttpClient.Builder()
    .host("localhost")
    .port("5984")
    .username("")
    .password("");

/* no user name and password required because, its admin party */

CouchDbInstance couchDbInstance = new StdCouchDbInstance(httpClient);

第 2 步——创建一个 CouchDbInstance

CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient);

第 3 步 - 使用 CouchDbConnector 连接到本地 CouchDB 中的特定数据库(在此示例中,我的数据库称为专辑,但您只需输入要连接的任何数据库的名称,而不是您正在编码的专辑)

CouchDbConnector albums = dbInstance.createConnector("albums", true);

第 4 步——您可以像这样打印出您连接的数据库的名称。

System.out.println(albums.getDatabaseName());

您还可以创建一个端点,通过创建一个字符串类型的方法,在浏览器中打印您连接到的数据库的名称

return albums.getDatabaseName();

我希望这是有帮助的。我使用 ektorp 的参考文档来了解这一点。我花了一段时间才弄清楚如何像这样使用 ektorp,我还在学习!

于 2017-01-30T22:12:01.337 回答