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
>
>

Reply via email to