我在ravendb3.5sql复制到mysql服务器时遇到了一些问题。我使用的是windows10,ravendb3.5和mysql 8.0.12。我试着回到最基本的,没有ssl,赤裸裸的。我安装了mysql服务器、8.0.12连接器和 .Net
连接器。然后我创建了一个具有所有角色和权限的测试模式、表和用户。
我可以通过ravendb sql replication成功测试到我的sql的连接,但是当我尝试启动sql replication时,我总是得到下面的nullreferenceexception:
system.nullreferenceexception:对象引用未设置为对象的示例。位于raven.database.bundles.sqlreplication.relationaldatabasewriter.dispose(),位于raven.database.bundles.sqlreplication.sqlreplicationtask.replicatechangestodestination(sqlreplicationconfig cfg,icollection`1 docs,int32&countofreplicateditems)
我把源代码拉下来调试了一下。
带示例代码
似乎providerfactory与mysql有问题,它在providerfactory内部有这个错误
“((mysql.data.mysqlclient.mysqlclientfactory)providerfactory).mysqldbproviderservicesinstance”引发了类型为“system.dllnotfoundexception”的异常
这又意味着commandbuilder为null,commandbuilder.quoteidentifier(x)导致nullreferenceexception,如图所示
我是mysql新手,我在3台不同的机器上做了相同的步骤,每次都有相同的错误。有点像mysql/环境问题,就像我错过的一些设置。
任何帮助都将不胜感激。
1条答案
按热度按时间siv3szwd1#
这是由mysql错误88660引起的:
CreateDataAdapter
以及CreateCommandBuilder
未实现,两者都返回null
.您必须等待oracle发布一个固定版本,或者切换到mysqlconnector,mysqlconnector与api兼容,但没有这个bug。