【问题标题】:MySQL Connector with mod_mono and mono 2.6.7带有 mod_mono 和 mono 2.6.7 的 MySQL 连接器
【发布时间】:2011-04-28 14:04:24
【问题描述】:

我在让 MVC2 Web 应用程序找到 MySQL 连接器时遇到了很多麻烦。我正在运行 CentOS 5。

我已经使用 2.0 版本的工具将 DLL 安装到 GAC 中

$ mono /usr/local/lib/mono/2.0/gacutil.exe -i v2/mysql.data.dll
Installed v2/mysql.data.dll into the gac (/usr/local/lib/mono/gac)

我确认它更新了 GAC:

$ ls /usr/local/lib/mono/gac/MySql.Data/6.3.5.0__c5687fc88969c44d/mysql.data.dll

运行应用程序时出现以下错误:

未能找到或加载注册的 .Net Framework 数据提供者 MySql.Data.MySqlClient

我创建了一个简单的命令行应用程序,如下所述:http://www.mono-project.com/MySQL,它可以在我的 Windows 机器上的 Mono 和 .NET 下运行,但不能在我的 Linux 机器上运行。

【问题讨论】:

    标签: .net mysql mono centos mod-mono


    【解决方案1】:

    好! 请注意:您必须根据下载的 Connector/Net 版本(在我的情况下为 6.3.7)调整 machine.config 文件。

    【讨论】:

      【解决方案2】:

      就您添加到 GAC mysql.data.dll 而言,您确定您引用的正是它还是 MySQL.Data.dll? Linux 具有区分大小写的文件系统,因此解决方案中的引用也是如此。

      【讨论】:

        【解决方案3】:

        有两个问题:

        1. 如前所述的 DLL 的外壳。
        2. machine.config 需要更新。我不需要在 Windows 端执行此操作,因为 MySql 提供程序会自动为您执行此操作。

        要更新您的 Mono machine.config 文件,您需要找到您的 machine.config 文件。对于 Cent OS,它们位于 (/usr/local/etc/mono/2.0/machine.config)。我刚刚将 Windows .NET machine.config 文件中的内容复制到我的单声道文件中,它就可以工作了。

        <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-10
          • 2014-03-07
          • 1970-01-01
          • 1970-01-01
          • 2012-06-20
          • 1970-01-01
          相关资源
          最近更新 更多