We can crowdsource that... Let's see which drivers are currently reflection-based: Adaptive Server Anywhere DB2 Firebird (two versions of this?) Informix Ingres MySQL PostgreSQL Oracle SQLite SQL CE Sybase
In any case, we can have and overload in ReflectionBasedDriver that takes a providerName. If that overload is not used, nothing changes. That will allow us to port the drivers one by one without breaking existing stuff. Diego On Fri, Aug 13, 2010 at 16:05, Fabio Maulo <fabioma...@gmail.com> wrote: > You can check the existence of a DLL even without use reflexion. > Then we can use the InvariantName. > Can you provide InvariantName for all RDBMS supported by NH ? > > > On Fri, Aug 13, 2010 at 3:53 PM, Diego Mijelshon > <di...@mijelshon.com.ar>wrote: > >> You can't have your cake and eat it too. >> We can either make the existing drivers inherit from DbProviderDriver >> where it makes sense (must-install providers, mostly), or have a new set of >> drivers. >> ...or we can use a fallback logic that tries reflection first and, if >> unsuccessful, goes to DPF. >> >> Diego >> >> >> >> On Fri, Aug 13, 2010 at 15:27, Fabio Maulo <fabioma...@gmail.com> wrote: >> >>> That solution is the solution of Microsoft and give you the ability to >>> work with multiple versions of the same assembly installed in the GAC. >>> The usage of DbProvider is not a problem but shouldn't be so complicated >>> as proposed. It should be completely transparent; the NH users should have 0 >>> changes to work with or without DbProvider. >>> >>> >>> On Fri, Aug 13, 2010 at 3:22 PM, Diego Mijelshon <di...@mijelshon.com.ar >>> > wrote: >>> >>>> I see... I didn't know that. >>>> However, there's a problem with that solution: I lose version >>>> independency. >>>> That problem is fixed by the DbProviderDriver without introducing any >>>> problems that I can think of. >>>> >>>> Diego >>>> >>>> >>>> >>>> On Fri, Aug 13, 2010 at 14:23, Fabio Maulo <fabioma...@gmail.com>wrote: >>>> >>>>> You don't have to. >>>>> In our tests you can see how redirect a partial assembly-name. >>>>> >>>>> >>>>> On Fri, Aug 13, 2010 at 12:15 PM, Diego Mijelshon < >>>>> di...@mijelshon.com.ar> wrote: >>>>> >>>>>> This is a great patch, we currently have to copy IBM.Data.Informix.dll >>>>>> everywhere. >>>>>> >>>>>> I can create the DPF-based Informix driver if this gets included. >>>>>> >>>>>> Diego >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Aug 13, 2010 at 11:41, Pablo Ruiz <pablo.r...@gmail.com>wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> By reading the details at http://216.121.112.228/browse/NH-1378 looks >>>>>>> like this was an old request (1.2.1 days) which has been considered >>>>>>> already. >>>>>>> How ever (surelly due to time constraints ;)) this is still an open >>>>>>> issue, >>>>>>> which may be considered now for NH3. >>>>>>> >>>>>>> I have a couple of classes implementing a base driver using >>>>>>> DbProviderFactory, and I have attached them to the jira issue, so >>>>>>> anyone can >>>>>>> review them... This one are copied from my own project, but they are >>>>>>> simple >>>>>>> enought to get an starting point from which a discussion can be started. >>>>>>> >>>>>>> The point behind this issue (for me) it's mainly mono compatibility, >>>>>>> as mono does not implement 'BindingRedirect' support, and as such, the >>>>>>> only >>>>>>> way of making NH work it's by placing the ado.net provider's >>>>>>> assembly at bin folder, which in some deployments it's far from perfect. >>>>>>> >>>>>>> As such, if having alternate driver implementations using Reflection >>>>>>> (current one) and DbProviderFactory (the alternate one) looks great for >>>>>>> Fabio & co, I can provide fully-functional patches against trunk, just >>>>>>> letme >>>>>>> know about it.. ;) >>>>>>> >>>>>>> Saludos. >>>>>>> Att. Pablo >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Fabio Maulo >>>>> >>>>> >>>> >>> >>> >>> -- >>> Fabio Maulo >>> >>> >> > > > -- > Fabio Maulo > >