Вопроса фон:Невозможно подключиться к MongoDB (MongoLabs) через клиент C#
Я имею установку в MongoLabs (MLAB - https://mlab.com/) база данных и добавил очень простую коллекцию. Я использую драйвер MongoDB, чтобы попытаться подключиться и работать с этой коллекцией с помощью драйвера C# 3.2.
выпуска:
Я не могу подключиться к базе данных через драйвер C# с постоянной expection аутентификации, как показано на рисунке:
System.TimeoutException: превышено время ожидания после 30000ms выбора сервер с использованием CompositeServerSelector {Selectors = ReadPreferenceServerSelector {ReadPreference = {Mode = Primary, TagSets = []}}, LatencyLimitingServerSelector {AllowedLatencyRange = 00: 00: 00.0150000}}. Клиентский вид состояния кластера - {ClusterId: "1", ConnectionMode: "Automatic", Type: "Unknown", State: "Disconnected", Servers: [{ServerId: "{ClusterId: 1, EndPoint:" Unspecified/ds048719. mlab.com:48719 «}», EndPoint: «Unspecified/ds048719.mlab.com: 48719», Состояние: «Отключено», Тип: «Неизвестно», «Исключение из сердца»: «MongoDB.Driver.MongoConnectionException: Исключение произошло при открытии . подключение к серверу ---> MongoDB.Driver.MongoAuthenticationException: Не удалось выполнить проверку подлинности через механизм протокола SASL SCRAM-SHA-1 ---> MongoDB.Driver.MongoCommandException:. Команда saslStart не удалась:. Ошибка аутентификации
Код:
Я пробовал несколько разных способов проверки подлинности запроса. В настоящее время я пытаюсь просто использовать MongoClient
класс, как показано на рисунке:
MongoClient client;
var connectionString = "mongodb://userNameGoesHereRemovedForSO:[email protected]:48719/db";
client = new MongoClient(connectionString);
var database = client.GetDatabase("testDB");
var collection = database.GetCollection<string>("test");
Любая помощь или примеры того, как я могу успешно преодолеть эту проблему аутентификации будет высоко оценен.
Драйвер C# получает ссылку базы данных через метод 'client.GetDatabase'. База данных, указанная в строке подключения, представляет собой 'authenticationDatabase' –