SRV 连接字符串时出现 MongoConfigurationException
MongoConfigurationException when SRV connection string
驱动程序语言 - C#
驱动程序版本 - 2.7.0
数据库版本 - 4.0.0
.NET Framework 4.6.1
异常消息(凭据和服务器已删除)
The connection string
'mongodb+srv://USER:PASS@uat-xxxx.mongodb.net/test?retryWrites=true'
is not valid.
代码
var client = new MongoClient(@"mongodb+srv://USER:PASS@uat-xxxx.mongodb.net/test?retryWrites=true");
用户名和密码不包含特殊字符
未尝试连接到服务器。
但是,如果我使用 URI 版本
,这会正常工作
var client = new MongoClient(@"mongodb://USER:PASS@uat-shard-00-00-xxxxx.mongodb.net:27017,uat-shard-00-01-xxxxx.mongodb.net:27017,uat-shard-00-02-xxxxx.mongodb.net:27017/test?ssl=true&replicaSet=UAT-shard-0&authSource=admin&retryWrites=true");
我试图破译来自 the source 的验证规则,但这超出了我的正则表达式能力。
srv 连接字符串对我来说很好,与 Mongo Atlas UI 中呈现给我的完全相同。
知道我做错了什么吗?
谢谢
我尝试使用
重现这个
var client = new MongoClient("mongodb+srv://USER:PASS@cluster0-xxxx.mongodb.net/test?retryWrites=true");
var dbs = await client.ListDatabaseNames().ToListAsync();
Console.WriteLine(dbs);
这给了我预期的输出(2 个数据库名称)。
我的测试环境是.NET 4.6.1、LINQPad、C# Driver 2.7.0。
您可以尝试使用 Mongo Shell 从等式中消除 C# 驱动程序(和框架)进行测试。如果您使用的是 Mongo Shell 版本 3.6 或更高版本,您可以使用类似于
的命令测试连接
mongo "mongodb+srv://cluster0-xxxx.mongodb.net/test" --username USER
也就是说,您应该能够联系 MongoDB 支持您的 atlas 集群,使用 Atlas 左侧的 "Support" link UI.他们应该能够提供帮助。
驱动程序语言 - C#
驱动程序版本 - 2.7.0
数据库版本 - 4.0.0
.NET Framework 4.6.1
异常消息(凭据和服务器已删除)
The connection string 'mongodb+srv://USER:PASS@uat-xxxx.mongodb.net/test?retryWrites=true' is not valid.
代码
var client = new MongoClient(@"mongodb+srv://USER:PASS@uat-xxxx.mongodb.net/test?retryWrites=true");
用户名和密码不包含特殊字符
未尝试连接到服务器。
但是,如果我使用 URI 版本
,这会正常工作var client = new MongoClient(@"mongodb://USER:PASS@uat-shard-00-00-xxxxx.mongodb.net:27017,uat-shard-00-01-xxxxx.mongodb.net:27017,uat-shard-00-02-xxxxx.mongodb.net:27017/test?ssl=true&replicaSet=UAT-shard-0&authSource=admin&retryWrites=true");
我试图破译来自 the source 的验证规则,但这超出了我的正则表达式能力。
srv 连接字符串对我来说很好,与 Mongo Atlas UI 中呈现给我的完全相同。
知道我做错了什么吗?
谢谢
我尝试使用
重现这个var client = new MongoClient("mongodb+srv://USER:PASS@cluster0-xxxx.mongodb.net/test?retryWrites=true");
var dbs = await client.ListDatabaseNames().ToListAsync();
Console.WriteLine(dbs);
这给了我预期的输出(2 个数据库名称)。
我的测试环境是.NET 4.6.1、LINQPad、C# Driver 2.7.0。
您可以尝试使用 Mongo Shell 从等式中消除 C# 驱动程序(和框架)进行测试。如果您使用的是 Mongo Shell 版本 3.6 或更高版本,您可以使用类似于
的命令测试连接mongo "mongodb+srv://cluster0-xxxx.mongodb.net/test" --username USER
也就是说,您应该能够联系 MongoDB 支持您的 atlas 集群,使用 Atlas 左侧的 "Support" link UI.他们应该能够提供帮助。