Just posted here:
http://stackoverflow.com/questions/3481050/invariant-names-for-different-ado-net-providers
<http://stackoverflow.com/questions/3481050/invariant-names-for-different-ado-net-providers>We'll
probably have most of them by tomorrow.

Informix is "IBM.Data.Informix", PostgreSQL is "Npgsql"

    Diego


On Fri, Aug 13, 2010 at 18:44, Fabio Maulo <fabioma...@gmail.com> wrote:

> Congratulation to both... you are closer...
> Now I would see the list of InvariantName... a little list nothing more
>
>
> On Fri, Aug 13, 2010 at 6:33 PM, Diego Mijelshon 
> <di...@mijelshon.com.ar>wrote:
>
>> My idea was actually to have an overload with the providerName IN ADDITION
>> TO driver/connType/cmdType. That way, if the assembly is found, we use it.
>> Otherwise, we fall back to the providerName.
>> The advantage is that users relying on the current resolution logic won't
>> notice any changes.
>>
>>     Diego
>>
>>
>>
>> On Fri, Aug 13, 2010 at 18:22, Pablo Ruiz <pablo.r...@gmail.com> wrote:
>>
>>> Forgetting about 'ConfigurableDriver'.. I think we can simple modify
>>> 'ReflectionBasedDriver' to add two constructors overloads, one which allows
>>> passing a providerName and another one which allows passing a providerName
>>> and the same three arguments it allows now (assembly, connection class and
>>> command class).
>>>
>>> This way, it will be a matter of each Driver using one of the three ctors
>>> to specify which methods are supported by this driver.
>>>
>>> However, I see at least, one property to make drivers supporting both
>>> methods, favor DbProviderFactory instead of Reflection (of course for
>>> compatibility reasons, the default method would be Reflection). This way
>>> users can switch over to DbProviderFactory just by setting some property
>>> like 'adonet_dbprovider=true'..
>>>
>>> Comments?
>>>
>>>
>>> On Fri, Aug 13, 2010 at 9:40 PM, Fabio Maulo <fabioma...@gmail.com>wrote:
>>>
>>>> I would see the list of InvariantName.
>>>> Have you the list of InvariantName used by your preferred RDBMS ?
>>>>
>>>> On Fri, Aug 13, 2010 at 4:28 PM, Diego Mijelshon <
>>>> di...@mijelshon.com.ar> wrote:
>>>>
>>>>> 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
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Fabio Maulo
>>>>
>>>>
>>>
>>
>
>
> --
> Fabio Maulo
>
>

Reply via email to