MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Não é possível se conectar ao MongoDB (MongoLabs) via cliente C#


Se eu tivesse que arriscar um palpite, o problema é provavelmente um problema de firewall. Você deve verificar o seguinte
  • nslookup do host (ds048719.mlab.com) do host de aplicativos C#
  • ping do host (ds048719.mlab.com) do C# Application Host (pode falhar, dependendo das configurações do mLab)
  • Se seu endereço IP está na lista de permissões
  • Teste a conexão usando o Mongo Shell do mesmo host em que o aplicativo C# está sendo executado. mLab tem documentos aqui.
  • Teste a conexão com um telnet bruto , por exemplo, telnet ds048719.mlab.com 48719
  • Verifique se você está usando o authenticationDatabase correto (no seu exemplo, isso é especificado pelo /db ), geralmente é admin mas pode ser o nome do seu banco de dados se você estiver em uma instância compartilhada.

Você pode encontrar os documentos sobre como se conectar com o driver C# em MongoDB C# Driver Docs. É importante observar o seguinte:

O componente de banco de dados

O componente de banco de dados é opcional e é usado para indicar em qual banco de dados autenticar. Quando o componente de banco de dados não é fornecido, o banco de dados “admin” é usado.

mongodb://host:27017/mydb

Acima, o banco de dados com o nome de “mydb” é onde as credenciais são armazenadas para o aplicativo.

OBSERVAÇÃO:

Alguns drivers utilizam o componente de banco de dados para indicar com qual banco de dados trabalhar por padrão. O driver .NET, enquanto analisa o componente de banco de dados, não usa o componente de banco de dados para nada além de autenticação.

Por fim, sugiro que, no futuro, ofusque o nome do host e a porta ao postar no SO. Embora a segurança por meio da obscuridade seja uma política ruim, ela certamente adiciona uma camada de defesa para sua implantação do MongoDB.