[Mono-list] Recommended MySQL Data Provider?

David P. Donahue ddonahue at ccs.neu.edu
Mon Nov 7 09:08:22 EST 2005


Ok, I just downloaded the source for the MySQL .NET Data Provider 1.0.6, 
compiled it (noticed that it had a build named specifically for Mono 
1.0, which was pretty cool), and referenced the Mono 1.0 build in my 
data module.

But it seems that every function which binds a dataset to a SELECT query 
always returns the error "Cannot find table 0."  Has anyone seen this 
before?  Any ideas what might be wrong?


Regards,
David P. Donahue
ddonahue at ccs.neu.edu
http://www.cyber0ne.com



David P. Donahue wrote:
> I didn't mean to spark so much debate :)
> 
> Anyway, now that my development machine is up and running again I'll be 
> testing the official data provider, since that seems to be the 
> recommended one.
> 
> As for the GPL concerns, I only use the data provider in a very much 
> seperate data module (web service project that my other websites call) 
> so there's not much actual code to be shared.  Nor do I imagine anyone 
> will ask for it (it's my understanding that I only _have_ to provide 
> GPL-ed code if someone requests it) because it's hardly interesting or 
> revolutionary, and it's very specific to my needs.
> 
> Now hopefully I won't have to change much to accomodate the new data 
> provider.  I remember some things being a pain before (MySQL TEXT 
> fields, for example).
> 
> 
> Regards,
> David P. Donahue
> ddonahue at ccs.neu.edu
> http://www.cyber0ne.com
> 
> 
> 
> Marek Habersack wrote:
> 
>> On Sun, Nov 06, 2005 at 01:32:14PM +0000, Alexandre Miguel Pedro Gomes 
>> scribbled:
>>
>>> Please take a look at:
>>> http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL
>>>
>>> It states:
>>> «*If a library is released under the GPL (not the LGPL), does that 
>>> mean that
>>> any program which uses it has to be under the
>>> GPL?<http://www.gnu.org/licenses/gpl-faq.html#TOCIfLibraryIsGPL>
>>> *  Yes, because the program as it is actually run includes the 
>>> library.» So,
>>> I guess I was and I am right.
>>>
>>> If I remember right, there is something called FLOSS (or very 
>>> similar) in
>>> MySql license that allows you to release your application (the one 
>>> linking
>>> to a MySql licensed library) under a license compatible to GPL *and*
>>> approved by that FLOSS. Not sure what that means but I assume that 
>>> you can
>>> do a LGPL library that used .net connector, thus allowing other to 
>>> link to
>>> your app with any other license, including closed-source.
>>>
>>> There is a workaround that I was told to work well - to make sure 
>>> your app
>>> works with other providers, like postgres, sqlserver, access, etc.... 
>>> and
>>> load the provider dynamically, that is, as an addin (using a xml file 
>>> and
>>> reflection....). Again, I'm not sure this works, but I believe so.
>>
>>
>> Qoting the GPL:
>>
>> ---- CUT ----
>> 2. [...]
>> These requirements apply to the modified work as a whole.  If
>> identifiable sections of that work are not derived from the Program,
>> and can be reasonably considered independent and separate works in
>> themselves, then this License, and its terms, do not apply to those
>> sections when you distribute them as separate works.  But when you
>> distribute the same sections as part of a whole which is a work based
>> on the Program, the distribution of the whole must be on the terms of
>> this License, whose permissions for other licensees extend to the
>> entire whole, and thus to each and every part regardless of who wrote it.
>> [...]
>> ---- CUT ----
>>
>> So, this is true that you can make sure your program doesn't have to 
>> abide
>> by the terms of the GPL by constructing it so that the program is not
>> entirely dependant on the MySQL connector assembly. Thus, in my
>> understanding, using the ADO.NET interfaces for your work fulfills that
>> requirement - you can make your code generic as far as the RDBMS used is
>> concerned. Also, I think, the other solution you mentioned - using code
>> that's licensed under a GPL-compatible license should be sufficient. 
>> You, as
>> the author of your application, hold all the rights to the source code 
>> and
>> the license that governs its use. Therefore, you can create a "glue" 
>> assembly
>> (it would have to be a separate DLL referenced by your app) and 
>> license it
>> under (e.g.) MIT _and_ GPL - leaving the user of your code the option to
>> choose which license applies to the code of the assembly. Your 
>> application would link to the MIT/GPL assembly, thus "separating" your 
>> application code from the GPL piece. According to some lawyers I 
>> talked to, it would also be
>> necessary to include a clause in your main application's license, that it
>> can solely be licensed under the terms of this or that license, or 
>> otherwise
>> your application users could, by implication, assume that since your app
>> links with a MIT/GPL assembly and they can use one of those licenses, 
>> then
>> your application can be considered GPL-ed if they select GPL instead 
>> of MIT
>> for the glue assembly.
>> All of this is very blury and unclear, but that's unfortunately what GPL
>> forces us to do in certain situations and is, IMO, one of the greatest 
>> harms
>> the GPL does to the free software community (this is my personal comment
>> only, so please ignore it if you don't agree with it and if you really 
>> want
>> to discuss it, please write me off the list)
>>
>> best regards,
>>
>> marek
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Mono-list maillist  -  Mono-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-list
> 
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
> 
> 


More information about the Mono-list mailing list