Coldairarrow / EFCore.Sharding

Database Sharding For EFCore
Apache License 2.0
693 stars 143 forks source link

使用的是mysql,却出现sslMode不被支持的提示,内部却调用了SQL server? #101

Closed rennner closed 3 years ago

rennner commented 3 years ago

异常如下,看异常信息,内部调用了SQL server的connection: 初始化: builder.AddDataSource(connectionString, ReadWriteType.Read | ReadWriteType.Write, DatabaseType.MySql); builder.SetDateSharding(nameof(xxxxx.DateTime), ExpandByDateMode.PerMonth, DateTime.Now);

执行下面调用时报错: using (var _context = scope.ServiceProvider.GetService()) { ..... } 异常如下:

System.ArgumentException: Keyword not supported: 'sslmode'. at Microsoft.Data.Common.DbConnectionOptions.ParseInternal(Dictionary2 parsetable, String connectionString, Boolean buildChain, Dictionary2 synonyms, Boolean firstKey) at Microsoft.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary2 synonyms) at Microsoft.Data.SqlClient.SqlConnectionString..ctor(String connectionString) at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) at Microsoft.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) at Microsoft.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key) at Microsoft.Data.SqlClient.SqlConnection.set_ConnectionString(String value) at EFCore.Sharding.DbFactory.GetDbContext(DbContextParamters dbContextParamters, EFCoreShardingOptions eFCoreShardingOptions) at EFCore.Sharding.DbFactory.GetDbAccessor(DbContextParamters dbContextParamters, String optionName) at EFCore.Sharding.ShardingDbAccessor..ctor(IShardingConfig shardingConfig, IDbFactory dbFactory) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.b__0(ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)

rennner commented 3 years ago

5.0.6及以下版本没有这个问题。5.0.8开始有个问题。

Coldairarrow commented 3 years ago

已修复,等CICD完成后升级包即可