我在将RavenDB 3.5 SQL复制到MySQL服务器时遇到问题。我正在使用Windows 10,RavenDB 3.5和MySQL 8.0.12。
我试过回到基础,没有SSL,准系统。我安装了MySQL服务器,8.0.12连接器和.Net
连接器。然后,我创建了具有所有角色和特权的测试架构,表和用户。
我可以通过RavenDB SQL复制成功测试到SQL的连接,但是当我尝试启动SQL复制时,总是在下面得到NullReferenceException:
System.NullReferenceException:对象引用未设置为实例 一个对象。在 Raven.Database.Bundles.SqlReplication.RelationalDatabaseWriter.Dispose() 在 Raven.Database.Bundles.SqlReplication.SqlReplicationTask.ReplicateChangesToDestination(SqlReplicationConfig cfg,ICollection`1文档,Int32&countOfReplicatedItems)
我提取了源代码并对其进行了调试。
在示例代码中,似乎ProviderFactory与MySQL有关,而在ProviderFactory中出现此错误
'(((MySql.Data.MySqlClient.MySqlClientFactory)providerFactory).MySqlDbProviderServicesInstance' 引发类型为'System.DllNotFoundException'的异常
这又意味着commandbuilder为null,而commandBuilder.QuoteIdentifier(x)导致NullReferenceException 如
我是MySQL的新手,我在3台不同的计算机上执行了相同的步骤,但每次均出现相同的错误。有点像MySQL /环境问题,就像我错过的某些设置一样。
任何帮助将不胜感激。
答案 0 :(得分:0)
这是由MySQL bug 88660引起的:CreateDataAdapter
和CreateCommandBuilder
未实现,并且都返回null
。
您将不得不等待Oracle发布固定版本,或者切换到与API兼容但没有此错误的MySqlConnector。