使用ArangoDB-NET连接ArangoDB Oasis报No such host is known如何解决
问题原因
你遇到的No such host is known报错是三处配置错误共同导致的:
- Host参数填写不符合驱动要求:
ArangoDB-NET驱动的Host入参仅接受纯域名/IP,你填写了带https://协议前缀的地址,驱动会将完整字符串当作主机名尝试解析,自然无法找到对应主机。 - TLS开关未开启:ArangoDB Cloud(Oasis)的所有公网实例强制要求HTTPS加密连接,你调用
ASettings.AddConnection时传入的第四个参数为false,该参数正是控制是否启用SSL/TLS的开关,关闭状态下无法和云实例建立连接。 - 端口配置错误:ArangoDB Cloud公网访问没有开放默认的8529端口,统一使用标准HTTPS端口443,你配置的8529端口无法访问云实例。
解决步骤
- 修改连接配置,调整Host和Port参数:
"DatabaseSettings": { "ConnectionName": "CloudDBConnection", "Host": "xxxxxxxx.arangodb.cloud", "Port": 443, "UserName": "root", "Password": "xxxxxxxx", "DatabaseName": "KKBDTestDB" }
- 修改连接代码,将TLS开关参数改为
true:
private readonly ADatabase db; public DatabseService(IDatabaseSettings settings) { // 第四个参数改为true启用TLS ASettings.AddConnection(settings.ConnectionName, settings.Host, settings.Port, true, settings.DatabaseName, settings.UserName, settings.Password, true); db = new ADatabase(settings.ConnectionName); }
- 若调整后仍连接失败,登录ArangoDB Cloud控制台确认实例的IP访问白名单,已添加你当前设备的公网IP即可。
内容的提问来源于stack exchange,提问作者csharpbd
相关产品推荐
相关产品推荐

