(MongoLab)MongoException,com.mongodb.connection.ScramSha1Autherticator错误

时间:2016-02-04 06:35:43

标签: java android mongodb mlab

我正在使用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.9SCRAM-SHA-13.0开始,所以这一定不成问题。此外,3.0.93.2.1兼容。 MongoDB Versions Compatibility

我知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

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

New Android Drivers