0

我正在使用这段代码:

Dim client = New MongoClient(ConnectionStringText)
mongo = client.GetServer()

在 vb.net 中,我使用 .net 的 1.7 mongo 驱动程序并更新到最新版本以确保它不是版本问题。

当我使用副本集连接字符串时:

mongodb://[myserver1]:27017,[myserver2]:27017,[myserver3]:27017/?replicaSet=myRepName

我收到以下错误:

Unable to connect to a member of the replica set matching the read preference Primary: The requested name is valid, but no data of the requested type was found

如果您像这样连接(仅连接到一台服务器):

mongodb://[myserver1]:27017

代码运行良好

另外 - 我使用 python 来验证我的副本集正在使用相同的连接字符串,但它在这里和那里都不起作用

我也尝试了这些选项:

/?connect=replicaset&replicaset=myRsName&readPreference=SecondaryPreferred

我也尝试使用以下代码执行此操作:

    Dim servers As List(Of MongoServerAddress) = New List(Of MongoServerAddress)()
    servers.Add(New MongoServerAddress(myserver1IP, 27017))
    servers.Add(New MongoServerAddress(myserver2IP, 27017))
    servers.Add(New MongoServerAddress("myserver3IP, 27017))
    Dim settingsNew = New MongoClientSettings()
    settingsNew.ConnectionMode = ConnectionMode.ReplicaSet
    settingsNew.ReplicaSetName = "myRepName"
    settingsNew.ReadPreference = New ReadPreference(ReadPreferenceMode.PrimaryPreferred)
    settingsNew.Servers = servers.ToArray()

    Dim client = New MongoClient(settingsNew)

并得到这个错误:

Unable to connect to a member of the replica set matching the read preference Primary

当登录到服务器(ssh)并使用 rs.status() 命令时,我得到了预期的结果,一切似乎都运行良好(正如我在 python 驱动程序中提到的那样......)

有任何想法吗 ?

编辑:

我认为这可能是同一个问题:

https://jira.mongodb.org/browse/CSHARP-826

我还尝试降级到 1.8.3 驱动程序,但没有成功。

4

1 回答 1

0
于 2014-09-10T18:13:22.273 回答