tags:

views:

626

answers:

1

Hi, I made a small desktop app in .net c# using IBM.Data.DB2 provider connecting to IMB DB2 on z/OS. When i deployed this app on a machine i faced issues for runtime for IBM DB Connect then i found that i had to install the DB2 Run-Time Client Lite and i did so. Now when i run the application an error is coming "ERROR[42968][IBM] SQL8002N Connect processing failed; a valid product license was not found. SQLSTATE=42968"

Note : I am able to connect same database using HIS libraries.

Regards Verybiztalker

+2  A: 

I thought I'd answered your previous question on the subject quite well - did you not read it? I'll paraphrase it for you but summarize first:

You will not be able to access z/OS DB2 remote entry points with any lite version. With the JDBC drivers, you need the enterprise version to connect to z/OS and this is almost certainly the same as with C# - this is to keep the mainframe protected from all-and-sundry clients that don't have the blessing of the 'enterprise gods'.

If you don't have a valid license, the client won't even attempt to connect to the mainframe. The error code and state you're receiving match exactly the situation I describe. And by "HIS libraries", I assume you mean IHS, the IBM HTTP server, which is basically Apache with a lot of IBM extras (including, probably, the enterprise DB2 Connect licenses, although that's only a best guess).

Repeating what I stated in your previous question on the subject (http://stackoverflow.com/questions/396589/ibm-data-db2):

IBM guard (or, more precisely, allows their customers to guard) their mainframe DB2 access very closely. I suspect this has something to do with ensuring only enterprise-blessed applications even try to connect (JDBC clients that don't have the right license file don't even get their requests appearing at the mainframe TCP ports, they're blocked on the client side) - the mainframe is usually business-critical in a way most desktop/server applications only dream of becoming :-).

With the JDBC drivers, a single type-4 driver is used to access all DB2 platforms (LUW, iSeries, System z, etc) but you actually have to have a license file installed in your CLASSPATH for the specific platforms or you'll get an exception.

This license file is of the form "db2jcc_cisuz.jar" where the cisuz specifies which platforms are allowed to be accessed (cu is the most common but that doesn't give access to iSeries or System z).

You generally have to buy DB2 Connect from IBM to get these files and I suspect it would be a similar situation for the .NET framework. You may find that DB2 Connect products have .NET client drivers as well as JDBC (I haven't looked). Look for the "Enterprise" edition of that product since the standard ones would be unlikely to have the System z license.

paxdiablo