sql >> Databáze >  >> NoSQL >> MongoDB

Ověření rmongodb vždy selže

Pravděpodobně používáte serverovou verzi MongoDB 3.0 nebo vyšší (aktuální řada 3.x při psaní), která má aktualizovaný mechanismus bezpečnostní autentizace (SCRAM-SHA-1 od MONGODB-CR), který není kompatibilní se staršími verzemi ovladačů, které jej nepodporují.

Aktuální stav rmongodb vydání balíčku (verze psaní 1.8.0), tento ovladač je založen na implementaci staršího ovladače C, který není kompatibilní s novými metodami ověřování. Jak je také uvedeno v problémech v tomto úložišti , autor poznamenává tuto závislost ovladače a uvádí, že balíček bude vyžadovat přepsání, aby mohl využívat nové API, které podporuje novou metodu ověřování.

V době psaní se nezdá, že by došlo k žádným krokům k provedení takových změn, kromě vytvoření nová pobočka který v současné době není připraven k vydání.

Vaše možnosti jsou tedy v současnosti:

  • Pokud je to možné, pracujte bez ověření
  • Snižte verzi serveru MongoDB na verzi, která podporuje staré ověřování
  • Hledejte další implementace ovladačů, které podporují nové ověřování.

Samotný "rmongodb" se tedy aktuálně nemůže připojit k serverům MongoDB 3.x. Buď použijte jednu z dalších možností a/nebo přispějte do repozitáře sami, pokud dokážete urychlit jeho vývoj do další verze s plnou podporou ověřování.

Další možné alternativy ovladače jsou propojeny nebo diskutovány v problému odkazovaném v této odpovědi.




  1. Klient C#/.NET pro Redis

  2. Nelze se připojit k MongoDB errno:61

  3. Spojte řetězec a číslo v SQL

  4. MongoDB vnořeno NEBO/A kde?