带有mod_mono和mono 2.6.7的MySQL连接器

时间:2010-10-21 12:12:33

标签: .net mysql mono centos mod-mono

我在使用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机器上不起作用。

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

有两个问题:

  1. 已经提到过的DLL的外壳。
  2. 需要更新machine.config。我不需要在Windows端执行此操作,因为MySql提供程序会自动为您执行此操作。
  3. 要更新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" />