MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Impossibile connettersi a MongoDB (MongoLabs) tramite client C#

Se dovessi azzardare un'ipotesi, il problema è molto probabilmente un problema di firewall. Dovresti controllare quanto segue

  • nslookup dell'host (ds048719.mlab.com) dall'host dell'applicazione C#
  • ping dell'host (ds048719.mlab.com) dall'host dell'applicazione C# (potrebbe non riuscire, a seconda delle impostazioni di mLab)
  • Che il tuo indirizzo IP sia autorizzato
  • Verifica la connessione utilizzando Mongo Shell dallo stesso host in cui è in esecuzione l'applicazione C#. mLab ha documenti qui.
  • Verifica la connessione con un telnet non elaborato , ad esempio telnet ds048719.mlab.com 48719
  • Assicurati di utilizzare il authenticationDatabase corretto (nel tuo esempio, questo è specificato da /db ), di solito è admin ma potrebbe essere il nome del tuo database se ti trovi su un'istanza condivisa.

Puoi trovare i documenti sulla connessione con il driver C# in MongoDB C# Driver Docs. È importante notare quanto segue:

Il componente del database

Il componente database è facoltativo e viene utilizzato per indicare su quale database eseguire l'autenticazione. Quando il componente database non viene fornito, viene utilizzato il database "admin".

mongodb://host:27017/mydb

Sopra, il database con il nome di "mydb" è il luogo in cui sono archiviate le credenziali per l'applicazione.

NOTA:

Alcuni driver utilizzano il componente database per indicare con quale database lavorare per impostazione predefinita. Il driver .NET, mentre analizza il componente del database, non utilizza il componente del database per nient'altro che l'autenticazione.

Infine, suggerirei in futuro di offuscare il nome host e la porta durante la pubblicazione su SO. Sebbene la sicurezza attraverso l'oscurità da sola sia una cattiva politica, aggiunge sicuramente un livello di difesa per la tua distribuzione di MongoDB.