Я пытаюсь подключиться к удаленной базе данных MongoDB v3.0.8, размещенной в MongoLab, используя Фантом скрипт v1.0.67. Я использую драйвер afMongo v1.0.4. Линия соединения это:
mongoClient := MongoClient(
ActorPool(),
`mongodb://mydbuser:mydbpassword@ds0#####.mongolab.com:#####/mymongodb`
)
Обратите внимание, что заполнители mydbuser, mydbpassword и ##### заменены правильными значениями. Соединение установлено успешно, когда я запускаю следующую команду из оболочки:
mongo ds0#####.mongolab.com:#####/mymongodb -u mydbuser -p mydbpassword
но из сценария Fantom я получаю эту ошибку:
afMongo::MongoCmdErr: Command 'authenticate' failed. MongoDB says: auth failed
afMongo::Operation.runCommand (Operation.fan:36)
afMongo::Operation.runCommand (Operation.fan)
afMongo::Connection$.authenticate (Connection.fan:34)
afMongo::TcpConnection.authenticate (Connection.fan:51)
afMongo::ConnectionManagerPooled.checkOut (ConnectionManagerPooled.fan:458)
afMongo::ConnectionManagerPooled.leaseConnection (ConnectionManagerPooled.fan:320)
afMongo::Cmd.run (Cmd.fan:71)
afMongo::Database.runCmd (Database.fan:36)
afMongo::MongoClient.runAdminCmd (MongoClient.fan:107)
afMongo::MongoClient.buildInfo (MongoClient.fan:64)
afMongo::MongoClient.startup (MongoClient.fan:119)
afMongo::MongoClient.makeFromUri$ (MongoClient.fan:41)
afMongo::MongoClient.makeFromUri$ (MongoClient.fan)
afMongo::MongoClient.makeFromUri (MongoClient.fan:38)
Я также пробовал Robomongo v0.8.4 с аналогичным результатом: всплывающее диалоговое окно с сообщением...
- Успешное подключение к ds0#####.mongolab.com:#####
- Авторизация не удалась
Я запустил сценарий Fantom, а также Robomongo, успешно подключившись и аутентифицируясь в базах данных MongoDB v2.6.3 и v3.0.8, размещенных локально.
Моя версия Java — Java(TM) SE Runtime Environment (сборка 1.8.0_05-b13)
Я не знаю, зависят ли Robomongo или Fantom/afMongo от устаревшей библиотеки Java или System.
Что не так или что я должен проверить, пожалуйста?