【问题标题】:(MongoLab) MongoException, com.mongodb.connection.ScramSha1Autherticator Error(MongoLab) MongoException, com.mongodb.connection.ScramSha1Autherticator 错误
【发布时间】:2016-02-05 08:23:23
【问题描述】:

我正在使用mongolab 服务并在那里创建了我的帐户并创建了一个database。我成功地将本地 MongoDB 与 android 集成,现在尝试将我的 android 应用程序与 mongolab 连接,我按照网上提供的初步说明进行操作。我的代码

String textUri = "mongodb://xyz:MyPass_XYZ@ds023288.mongolab.com:23288/sample";

    MongoClientURI uri = new MongoClientURI(textUri);
    MongoClient m = new MongoClient(uri);
    DB d=m.getDB("sample");
    DBCollection collection = d.getCollection("mycollection");

但我得到运行时异常

com.mongodb.MongoException:java.lang.NoClassDefFoundError

我研究发现NoClassDefFounderror 在指定文件不存在时出现。该文件是

com.mongodb.connection.ScramSha1Autheticaor$ScramSha1SaslClient

我检查了mongoDB 网站,发现他们升级了,新的mongo 需要SCRAM-SHA-1 authenticationUpgrading Link

我的mongoshell 使用的是 mongoversion 3.2.1,而 mongolab 版本是 3.0.9。由于SCRAM-SHA-1 是从3.0 开始的,所以这应该没问题。 3.0.9 也与 3.2.1 兼容。 MongoDB Versions Compatibility

知道如何解决这个问题。

【问题讨论】:

标签: java android mongodb mlab


【解决方案1】:

其他人处理同样的问题,这里是答案。使用这些安卓驱动程序。 重要提示:没有驱动异步未移植,因为java.nio.channels.AsynchronousSocketChannel 在 Android 上不存在,也不存在任何移植。

New Android Drivers

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-16
    • 1970-01-01
    • 2014-02-15
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 2015-05-21
    相关资源
    最近更新 更多