MySQL的非GPL ADO.NET提供程序?

时间:2011-12-14 11:33:36

标签: c# asp.net .net mysql ado.net

是否有适用于MySQL的NON-GPL ADO.NET提供程序?

这里有官方的 http://dev.mysql.com/downloads/connector/net
但不幸的是,它是在GPL下,而不是LGPL。

我正在为数据库访问开发一个抽象类 我不关心抽象层是否会成为GPL,
但如果它使用MySQL(我指的是MySQL ADO.NET提供程序,而不是MySQL数据库本身),它将是GPL,因此,任何使用该层的应用程序,这是我不想要的......

哦,我知道nHibernate / Subsonic / otherORMs,但它不符合我的需要。

ADO.NET提供程序当然不使用ODBC。

编辑/澄清:
请注意,通过“用于数据库访问的抽象类”,我并不是指编写自己的通用ADO.NET提供程序。 我的意思是围绕一组已经存在的ADO.NET提供程序编写一个包装类。

4 个答案:

答案 0 :(得分:5)

我得到了完美的答案:

可以使用System.Data.Odbc来解决问题 你总是可以说,它是通用的ODBC,没有什么特别与MySQL有关,很容易替换 无论你在连接字符串中添加什么,都是客户的问题 如果您通过ODBC连接发送的SQL仅在MySQL / MariaDB中工作,那是令人遗憾的 - 但没有法律问题;)

编辑 - 2016年更新:
您可以使用MIT许可的MySqlConnector for .NET Core(也适用于.NET) https://github.com/mysql-net/MySqlConnector

答案 1 :(得分:3)

有DevArt的MySQL ADO.NET提供程序

http://www.devart.com/dotconnect/mysql/

答案 2 :(得分:0)

停止吞咽Microsoft FUD。

因此,GPL的v2涵盖了这一点,除非您打算修改提供的代码并重新分发它(而不是将其与您自己的应用程序捆绑在一起),您只需要说明捆绑包含GPL v2 .0许可代码并引用版权所有者(无论如何,您几乎总是要求使用大多数商业许可软件。)

答案 3 :(得分:0)

  

但是如果它使用MySQL则将是GPL

啊 - 不。你可以用它甚至不知道它连接到MySql的方式对它进行编程。

  • 将所有抽象隔离到一个单独的程序集中。
  • 在此(允许)实现您的专有接口。
  • 将mySql的抽象分发为gpl。

成品。