Search code examples
c#.net-coredb2ibm-midrange

.NET DB2 driver options


On NuGet, I see these DB2 packages:

  • IBM.Data.DB2
  • IBM.Data.DB2.iSeries
  • IBM.Data.DB2.Core

Questions:

  1. What is the difference between IBM.Data.DB2.iSeries and IBM.Data.DB2?
  2. As I understand it, IBM.Data.DB2 and IBM.Data.DB2.iSeries are not compatible with .NET Core. Is that correct?
  3. I assume IBM.Data.DB2.Core is the .NET Core equivalent of either IBM.Data.DB2 or IBM.Data.DB2.iSeries. Is that correct? Which is it?
  4. Does IBM.Data.DB2.Core lack any of key features of its predecessors?

At my company, we have an IBM i system, and we've used IBM.Data.DB2.iSeries successfully to date. I want to use ASP.NET Core for a project, but I want to make sure IBM.Data.DB2.Core will not be a deal-breaker for some reason (assuming I can even get it working without throwing cryptic exceptions, but that's another discussion...). The server will be running Windows Server 2019. I know ODBC is also an option, but I've been told it lacks both features and performance compared to these DB2-specific drivers.


Solution

  • I don't have all answers but some.

    1. IBM.Data.DB2 is used for the Informix database. But it seems to be no official package.
    2. Yes. ADO.NET is Windows only.
    3. It is for both of them. The IBM Data Server Drivers support both.
    4. That depends on the product version and edition you bought.

    I suggest you create a small test project with some of your scenarios before you start migrating your application. A starting point might be this.