× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Awesome article Craig! I'm sure I'm not alone in saying I'm a big fan.

It is unfortunate the the "best solution" is to not use the IBM i Access provider at all. I take it that the modifications you suggest to the config files would require administrative priveledges on the PC as well. Our standard is that non-administrative users should be able to install and run our applications.

You would think that IBM's aspiration would be to be as accomodating as Microsoft in this regard. It ought to bother them a lot that their solution encumbers commercial usage of their product in such a significant way.

Thanks again. We do use web services in a limited capacity but to use them generally would introduce a great deal of manual effort. Plus there are things ADO.net manages very nicely that would be quite complicated to duplicate via a web service.

My developers seem to feel they have a different approach for applications to work with different provider versions without the non-priveledeged user issues as long as there isn't a "breaking change" for the specific method being used. It does require several weeks of work to develop and some revision to existing programs. Of course I'd be much happier if it weren't necessary at all.

-----Original Message-----
From: systemidotnet-bounces@xxxxxxxxxxxx [mailto:systemidotnet-bounces@xxxxxxxxxxxx] On Behalf Of Craig Pelkie
Sent: Tuesday, September 14, 2010 7:04 PM
To: .net use with the System i
Subject: Re: [SystemiDotNet] IBM ADO.net data provider version compatibility

Dave

The V5Rx provider was version 10.0.0.0.

V6R1 is 12.0.0.0

I don't know if the version changed in V7R1

Here is some info about using different versions of the provider. It does
seem to be problematic, as you've described:

http://systeminetwork.com/article/assembly-redirection-ibm-net-provider?elq_mid=2151

Craig Pelkie


----- Original Message -----
From: "Dave Jorgensen" <djorgensen@xxxxxxxxxxxx>
To: <SystemiDotNet@xxxxxxxxxxxx>
Sent: Tuesday, September 14, 2010 2:47 PM
Subject: [SystemiDotNet] IBM ADO.net data provider version compatibility


Because my company is a software vendor, IBM's unfortunate habit of
frequently changing versions on their ADO.net data provider is creating
big issues for us. I assume that there are other ISV's out there who write
.Net applications for the IBM i, so I'm hoping someone has worked out a
way to tackle this. I have asked IBM, but still don't have a response.

To recap why this is creating issues for us:
With each of the last three releases of the OS (V5R4, 6.1 and 7.1), the
corresponding data provider version has changed. While I am not a .Net
developer myself, what my .Net developers tell me (and this is supported
by what I found on relevant forum threads) is that when IBM changes the
version number it breaks any .Net application with an ADO.net interface
which wasn't built over that same version of the data provider. I grant
that version induced breaking isn't unique to IBM's .Net components, and
sometimes you really have to introduce changes that require a new version.

But - while Microsoft's .Net framework itself allows you to have multiple
versions of the same installed and applications built over different
versions of that framework can coexist on the same PC as long as the
version they need is installed, IBM i Access does not allow for concurrent
installation of multiple versions. To test or develop with different
versions, we have to uninstall and reinstall the whole shooting match or
use virtualization. Another very annoying issue is that IBM will only ship
you new versions when you're ordering hardware or updates so my developers
don't have free access to the various versions.

What I am faced with is these choices:
- dictate to the clients who use our software that they run a specific
version of IBM i Access so that we only have to create a single version of
our .Net software. This really isn't an option for us - hopefully for
obvious reasons.
- create and maintain multiple ADO.net version specific versions of all of
my .Net software for the various versions of IBM i Access that we need to
support. I'll pursue the final option before this one.
- figure out a way to create an intervening layer between our applications
and the ADO.net data provider itself. Where programs need to use ADO.net
functionality, they will interface with this component instead and then
that component will determine which version of ADO.net is installed on the
PC and translate the request into a version-appropriate interaction with
the provider. This is what we're most seriously considering - but I think
it simply shouldn't be necessary at all.
- scrap using the ADO.net data provider completely figure out other ways
to do what we use it for.

I'm hoping that somewhere here I'm wrong (as in there really is a way to
have concurrent installs of different versions of IBM i Access or IBM has
some sort of backward compatibility solution). But short of that I think
there are no choices which aren't ugly ones.

It's difficult to understand why IBM would impose this sort of
limitation/difficulty - particularly when the hallmark of the IBM i has
always been that applications written for it dating back to its inception
have required next to no maintenance at all for reasons due to operating
system changes. Other than requiring our clients to stay within a couple
releases of us so we can compile to the lowest level of the OS that we
support and a few rare cases of avoiding specific PTF's/IBM i Access
versions, we've never had any need to dictate to them that they run any
specific release.

Help!
--
This is the .net use with the System i (SystemiDotNet) mailing list
To post a message email: SystemiDotNet@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/systemidotnet
or email: SystemiDotNet-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/systemidotnet.

--
This is the .net use with the System i (SystemiDotNet) mailing list
To post a message email: SystemiDotNet@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/systemidotnet
or email: SystemiDotNet-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/systemidotnet.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.