2

MySql 连接器/网络无法正常工作。处理 bug 的团队只有 3 个人,他们不解决复杂的问题。自 2009 年以来仍有未解决的问题。我想自定义他们的连接器,以便它适用于我的复杂情况。如何在我的项目中使用自定义版本而不是他们的?

4

2 回答 2

4

步骤 1) 下载

为了自定义 oracle 的 mysql 连接器/网络版本,您必须在此处下载源代码:http: //dev.mysql.com/downloads/connector/net/

步骤 2) 打开

接下来,您将不得不解压缩下载的源文件。连接器的核心将在两个项目中,MySql.Data以及MySql.Data.Entity什么是 mysql 提供程序?)。

步骤 3) 编辑连接器

对您希望的类进行任何编辑,以解决您的复杂情况。

步骤 4) 删除签名

此步骤将使重新分发您的编辑变得不受欢迎,您可以签名并根据需要进行更改,但对于本地部署,这是不必要的。

  • 里面MySql.Data.EntityAssemblyInfo.cs注释掉这一行:

    //[assembly: AssemblyKeyName("ConnectorNet")]
    

  • MySql.Data'内部AssemblyInfo.cs进行以下更改:

    //[assembly: AssemblyKeyName("ConnectorNet")]
    [assembly: InternalsVisibleTo("MySql.Data.Entity")]
    

    步骤 5) 按顺序编译和构建

    MySql.Data 建。建成后,打开MySql.Data.Entity. 将出现无法找到的警告MySql.Data。添加对文件夹MySql.Data内部新建的引用。bin/Debug构建MySql.Data.EntityRelease.

    步骤 6) 移动文件

    bin/Release的文件夹里面MySql.Data.Entity应该是MySql.DataMySql.Data.Entity。取每个并覆盖项目package文件夹中的对应项。

    步骤 7) 更新项目中的引用

    在您的项目内部,转到参考区域。删除MySql.DataMySql.Data.Entity。右键单击References,单击Add Reference,选择Browse选项卡,导航到包文件夹,然后将两者都添加MySql.DataMySql.Data.Entity您在步骤 6 中放置的位置。

    步骤 8) 修改web.config

    将多次提及MySql.Datainside of web.config。它们中的每一个都将具有PublicKeyToken=c5687fc88969c44d必须删除的(从所有这些中删除)。

    步骤 9) 做到这一点

    享受您的定制连接器!

  • 于 2012-10-17T23:03:42.020 回答
    2

    现在有一个社区开发的用于 MySQL 的开源 .NET 连接库:https ://github.com/mysql-net/MySqlConnector 。

    它提供了真正的异步 I/O(用于高可扩展性)并修复了Oracle 的 Connector/NET 中的许多错误。

    于 2017-11-08T07:15:47.743 回答