3

We have an iSeries on V5R4. Currently we use the .NET Framework IBM.Data.DB2.iSeries iDB2Connection extensively and successfully.

For a long time now I have been trying to find a way to use the same IBM.Data.DB2.iSeries .NET data provider on either .NET Core or .NET Standard with no luck.

Now that .NET 5 has been introduced we really need to remove all dependencies on .NET framework and upgrade our projects to .NET 5.

Trying to find information on this on the internet has been extremely hard to find, but most of the rare documents and comments seems to point to using DB2 connect or IBM.Data.DB2.Core.

I have tried using the IBM.Data.DB2.Core.DB2Connectoin but get a an exception referring to a license being required.

Currently we don’t have to pay for any extra for licenses so we don't really want to use DB2 Connect.

Ideally we would prefer to keep using the IBM.Data.DB2.iSeries.iDB2Connection, but it only seems to support .NET Framework.

Is there a .NET 5, or .NET Standard (2 or 2.1) or .NET Core 3.1 data provider that supports the iSeries on version V5R4 (besides Odbc & OleDb)?

tibba69
  • 83
  • 4
  • 1
    "we really need to"...do you? .NET Framework isn't going anywhere. It won't be enhanced any more, that's true, but it'll continue to work and be supported as long as the O/S is runs on is supported. If it ain't broke... (N.B. I'm not saying you won't ever need to move to .NET 5+, but I don't think it's urgent right now...if IBM provide this library, then they're likely to move with the times eventually). – ADyson Nov 16 '20 at 10:46
  • 1
    P.S. I don't know the iDB2Connection library you're referring to specifically, but if it's open-source then potentially you could attempt to port it yourself to .NET Standard or direct to .NET 5, or co-ordinate a community effort to do so. Failing that, put pressure on the vendor (IBM, I assume). – ADyson Nov 16 '20 at 10:48
  • Most libraries/drivers are provided by the vendor and third party libraries are not going to be a work around for a vendor licensing fee. Make sure you downloaded vendor latest driver. See : https://www.ibm.com/support/pages/download-initial-version-115-clients-and-drivers – jdweng Nov 16 '20 at 11:12
  • You guys probably got this driver from the set provided with `IBM System i Access for Windows` (roughly from the IBM 6.1 / Windows XP era). Have you tried to install the newer `IBM i Access Client Solutions` to see if you get a newer driver that way? – Mike Nov 16 '20 at 14:43
  • @ADyson The port you mentioned to .NET Standard or .NET 5 is exactly what I'm after. I just need the code extracted from this IBM.Data.DB2.iSeries.dll and recompiled with the TargetFramework upgraded from .NET Framework to .NET 5 (or .NET Standard) – tibba69 Nov 17 '20 at 11:48
  • Ok well like I said, unless either it's open source or the vendor is prepared to release it, or alter it themselves, then it won't be possible. But looking at the answer below, it seems your product is long out of support, so getting the vendor to engage might be tricky – ADyson Nov 17 '20 at 12:40
  • @Mike Yes I have tried the **IBM i Access Client Solutions** IBM.Data.DB2.iSeries which has a version of **13.0.20.2** compared the most recent nuget version which is **13.0.0.2**. So in my project should I just replace package: `` with reference: ``` C:\Program Files (x86)\IBM\Client Access\IBM.Data.DB2.iSeries.dll ``` – tibba69 Nov 17 '20 at 12:42
  • The [newest IBM documentation page](https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzaik/rzaikdotnetprovider.htm) does not mention .NET Core or .NET Standard, only .NET Framework. That is probably where you are stuck at as a maximum until they release a new driver. My .dll is only at 12.0.0.0. with .NET 4.5.2 – Mike Nov 17 '20 at 16:37
  • 2
    OK, [here is the official statement](https://www.ibm.com/support/pages/ibm-i-net-data-provider-and-net-core), saying "not supported" because it uses non-.NET dll's as dependencies. – Mike Nov 17 '20 at 16:45

1 Answers1

1
  • v5r4 was release in February 2006...
  • Standard support ended in September 2013...
  • "Extended Support" ($$$$) ended in September 2016...
  • 6.1, 7.1, 7.2, 7.3, 7.4 have been released since then.

None of the currently supported IBM drivers, will officially support v5r4.

.NET Core drivers are only available as part of the licensed Db2 Connect product.

Unless you plan to upgrade your Db2/IBM i OS, I wouldn't be trying to update your .NET application.

Charles
  • 21,637
  • 1
  • 20
  • 44