Click here to Skip to main content
Click here to Skip to main content
Technical Blog

Tagged as

Connecting DB2/iSeries From .net Application

, 15 Feb 2011 CPOL
Rate this:
Please Sign up or sign in to vote.
I need to connect to a DB2 from a .net application. But it’s  in iSeries system. I did not know what is the way do it. I read lot of articles/blog posts and really helped me. But in this post, I thought to consolidate them for fast reference. There are two .net data providers for DB2. IBM.Data.DB2

I need to connect to a DB2 from a .net application. But it’s  in iSeries system. I did not know what is the way do it. I read lot of articles/blog posts and really helped me. But in this post, I thought to consolidate them for fast reference.

There are two .net data providers for DB2.

  1. IBM.Data.DB2.iSeries
  2. IBM.Data.DB2

Both provider follows same rules/guidelines of common ADO.net components. For an example, both have Connection, Command, DataAdapter, DataReader. But there are differences and limitations.

IBM.Data.DB2.iSeries

Using this provider you can only access to iSeries system. You have to install iSeries Client Access to development machine and/or server. It is quite a bit setup file ( > 3GB with 64Bit version), but we required (refer the bellow screen shots)

  • .NET Data Provider
  • Header,Library and Documentation.

clip_image002Figure 1clip_image002[12]

There are limitations/unsupported features [IBM Redbooks 2005 ,Page 38]  in this provider, bellow lists 3 out of 11.

  1. User-defined types (UDTs): Although some features may work, extensive testing has not
    been done using the IBM.Data.DB2.iSeries provider with UDTs.
  2. Distributed relational database architecture (DRDA®), including the CONNECT and
    DISCONNECT statements.
  3. SET TRANSACTION, COMMIT, and ROLLBACK statements: Instead, we recommend
    using the built-in transaction support provided via the iDB2Connection.BeginTransaction()method, and the iDB2Transaction object.

I think they have stopped update/improvements for this provider after .NET version 1.1

IBM.Data.DB2

This comes as new IBM  data provider for .net 2.0 and having rich features. For the easier development, it is coming with Visual Studio Add-in. Also IBM released beta version for .net 4.0 and add-in for VS 2010. You can see details and download by clicking this link.

Testing DB2 .NET Connection

After installing either IBM Data Server Client or IBM Data Server Runtime Client, we can test the connection by running following command,

To connect iSeries system, we have to give the port no 446 (default) to the connection string, Server=[IP:PORT].

C:\Program Files\IBM\SQLLIB\BIN>testconn20.exe "User ID=[UserName];Password=[pwd];

Database=[Data Base Or Alias];Server=[IP];"

If this success, it should dump output to the console similar to the following.[Beginning DB2 2008, Page 282]

Step 1:Printing version info

    .NET Framework version: 2.0.50727.42
    DB2 .NET provider version: 9.0.0.2

    Capability bits: ALLDEFINED
    Build: 20070524

    Factory for invairant name IBM.Data.DB2 verified
    Elapsed: 7.15625

 
Step 2: Connecting using "User ID=fuzzy;Password=fuzzy;Database=SAMPLE;

    Server=localhost;ServerType=db2;pooling=false"
    Server type and version: DB2/NT 09.05.0000

    Elapsed: 4.640625
 

Step 3: Selecting rows from SYSIBM.SYSTABLES to validate existence of packages
    SELECT * FROM SYSIBM.SYSTABLES FETCH FIRST 5 rows only

    Elapsed: 0.890625
 

Step 4: Calling GetSchema for tables to validate existence of schema functions
    Elapsed: 1.78125

 
Test passed.

References

[IBM Redbooks 2005]:  Hernando Bedoya,Carlos Carminati,Lorie DuBois,Jarek Miszczyk,Ajit Mungale. Integrating DB2 Universal Database for iSeries with Microsoft ADO .NET. 2005

[Beginning DB2 2008]: Grant Allen,Beginning DB2: From Novice to Professional, Apress 2008

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Kelum W. Ganegoda
Software Developer (Senior) Brandix Lanka Pvt Ltd.
Sri Lanka Sri Lanka
I’ve started my career in 2001 with Microsoft .net ver 1.0. I’m a MCSD for .net.
 
Currently, I’m working for Sri Lanka’s largest apparel exporter as a Software Engineer. All projects in .net, MS Sql Server, Biztalk Server, WCF and WPF. And also, I’m developing components to the ERP. In addition to that, I’ve involved to create architecture of ERP integration.
Follow on   Twitter

Comments and Discussions

 
Questionredistribute vb.net application with IBM.Data.DB2.iSeries PinmemberMember 814498310-Dec-13 0:54 
AnswerRe: redistribute vb.net application with IBM.Data.DB2.iSeries PinmemberKelum W. Ganegoda26-Dec-13 2:32 
GeneralOne small difference PinmemberMember 838911322-Mar-12 11:18 
GeneralRe: One small difference Pinmember32U17-Jul-12 12:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web02 | 2.8.141022.2 | Last Updated 15 Feb 2011
Article Copyright 2011 by Kelum W. Ganegoda
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid