MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Impossible de se connecter à MongoDB (MongoLabs) via le client C#

Si je devais hasarder une supposition, le problème est probablement un problème de pare-feu. Vous devez vérifier les éléments suivants

  • nslookup de l'hôte (ds048719.mlab.com) à partir de l'hôte d'application C#
  • ping de l'hôte (ds048719.mlab.com) à partir de l'hôte d'application C# (peut échouer, selon les paramètres de mLab)
  • Que votre adresse IP est sur liste blanche
  • Testez la connexion à l'aide de Mongo Shell à partir du même hôte sur lequel l'application C# est en cours d'exécution. mLab propose des documents ici.
  • Tester la connexion avec un telnet brut , par exemple telnet ds048719.mlab.com 48719
  • Assurez-vous que vous utilisez la bonne authenticationDatabase (dans votre exemple, ceci est spécifié par le /db ), il s'agit généralement de admin mais peut être le nom de votre base de données si vous êtes sur une instance partagée.

Vous pouvez trouver la documentation sur la connexion avec le pilote C# dans la documentation du pilote MongoDB C#. Il est important de noter ce qui suit :

Le composant de base de données

Le composant de base de données est facultatif et est utilisé pour indiquer la base de données auprès de laquelle s'authentifier. Lorsque le composant de base de données n'est pas fourni, la base de données "admin" est utilisée.

mongodb://host:27017/mydb

Ci-dessus, la base de données du nom de "mydb" est l'endroit où les informations d'identification sont stockées pour l'application.

REMARQUE :

Certains pilotes utilisent le composant de base de données pour indiquer avec quelle base de données travailler par défaut. Le pilote .NET, bien qu'il analyse le composant de base de données, n'utilise pas le composant de base de données pour autre chose que l'authentification.

Enfin, je suggérerais à l'avenir d'obscurcir le nom d'hôte et le port lors de la publication sur SO. Bien que la sécurité par l'obscurité seule soit une mauvaise politique, elle ajoute certainement une couche de défense pour votre déploiement MongoDB.