Ik probeer vergeefs een connection string met meerdere data sources te laten werken in een .net web applicatie met EF6. De database provider is MySQL in een geclusterd omgeving.
Volgens de documentatie (https://dev.mysql.com/doc...t-connection-options.html) zou het mogelijk moeten zijn om meerdere hosts op te kunnen geven in het Data Source/Server deel van de connection string. Dit gescheiden met komma’s.
Connection string die ik gebruik:
Ik krijg vervolgens deze Exception:
Zodra ik alleen maar een host opneem in de connection string werkt het wel. Heeft iemand een idee wat ik verkeerd doet?
Volgens de documentatie (https://dev.mysql.com/doc...t-connection-options.html) zou het mogelijk moeten zijn om meerdere hosts op te kunnen geven in het Data Source/Server deel van de connection string. Dit gescheiden met komma’s.
Connection string die ik gebruik:
XML:
1
| <add name="Test1" connectionString="server=10.10.2.10, 10.10.2.11, 10.10.2.12;database=api;uid=debug;password=xxxxxxxxxx" providerName="MySql.Data.MySqlClient" /> |
Ik krijg vervolgens deze Exception:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
| System.Data.Entity.Core.ProviderIncompatibleException occurred HResult=-2146233087 Message=An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. Source=EntityFramework StackTrace: at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection) at System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.<>c__DisplayClass1.<ResolveManifestToken>b__0(Tuple`3 k) at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) at System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.ResolveManifestToken(DbConnection connection) at System.Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection, DbProviderManifest& providerManifest) at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) InnerException: HResult=-2146233087 Message=The provider did not return a ProviderManifestToken string. Source=EntityFramework StackTrace: at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection) InnerException: ErrorCode=-2147467259 HResult=-2147467259 Message=Unable to connect to any of the specified MySQL hosts. Number=1042 Source=MySql.Data StackTrace: at MySql.Data.MySqlClient.NativeDriver.Open() at MySql.Data.MySqlClient.Driver.Open() at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() at MySql.Data.MySqlClient.MySqlPool.GetConnection() at MySql.Data.MySqlClient.MySqlConnection.Open() at MySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(DbConnection connection) at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) InnerException: ErrorCode=11001 HResult=-2147467259 Message=No such host is known NativeErrorCode=11001 Source=System StackTrace: at System.Net.Dns.GetAddrInfo(String name) at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) at System.Net.Dns.GetHostEntry(String hostNameOrAddress) at MySql.Data.Common.MyNetworkStream.CreateStream(MySqlConnectionStringBuilder settings, Boolean unix) at MySql.Data.Common.StreamCreator.GetStream(MySqlConnectionStringBuilder settings) at MySql.Data.MySqlClient.NativeDriver.Open() InnerException: |
Zodra ik alleen maar een host opneem in de connection string werkt het wel. Heeft iemand een idee wat ik verkeerd doet?