Search code examples
c#.netdb2db2-connect

How to use DB2Connect license file for IBM Db2 .net provider nuget package?


My workstation machine and our app servers(both prod & QA environments) are all got folders C:\Program Files\IBM\SQLLIB\ . It contains DB2 .net providers for older .net framework(C:\Program Files\IBM\SQLLIB\BIN\netf40_32). Our few old applications are using IBM DB2 ODBC Driver. But for application we can't use that since we can't find a working connection string which uses SSL Certificates as Authentication instead of password.

Now we have added NuGet Gallery | IBM.Data.DB2.Core 3.1.0.600 in our .net core application. During development and QA deployment, our app is working fine by connecting with Db2. Now we are going to deploy to production server.  I am worrying about whether we will face any issue due to license. 

I learned that "existing DB2Connect license should work" from this faq. How to find whether we have DB2Connect license or not? This blog post says we need to place the license file in the specified path.

Currently I can find 2 files named "odbc_notices.rtf" , "odbc_REDIST.txt"  in C:\Users\ {MyUserName} .nuget\packages\ibm.data.db2.core\3.1.0.600\buildTransitive\clidriver\license folder along with another folder named "Windows" which contains odbc_LI_en.rtf file. And also I can only find rtf files in this folder C:\Program Files\IBM\SQLLIB\license . 

I want to ensure that our production deployment will connect with Db2 using IBM Db2 .NET Core Provider without any issue.

My questions are:

  1. How to verify whether my app servers have "Db2Connect" or not?
  2. If yes, From where(license file path location) we can copy the license file?
    • How to identify a license file ? what is the file extension?
    • For local dev, To which location we need to paste the license file whether "C:\Users<MyUserName>.nuget\packages\ibm.data.db2.core\3.1.0.600\buildTransitive\clidriver\license" or C:\Users<MyUserName>\sourceCode\ApplicationProject\bin\Debug\netcoreapp3.1\clidriver
    • For QA , Prod environment server deployment To which location we need to place the license file whether E:\apps\MyApplication\clidriver\license or "C:\Users<MyUserName>.nuget\packages\ibm.data.db2.core\3.1.0.600\buildTransitive\clidriver\license"
  3. Do we need license to use dll in C:\Program Files\IBM\SQLLIB\BIN\netf40_32 ?

Solution

  • For DB2connect License , We don't need to do anything in client side i.e. Application side. The License will be in mainframe system. So for development and deployment we don't need to worry about the license.

    Ensure with your mainframe admin team / Db2 Admin Team whether you have Db2Connect license in mainframe or not.

    If the license is not on the Db2 mainframe system it needs to be installed on the client. You can get trial license by sending a message to IBM team through nuget .

    Please refer this Forum Q&A for further info https://community.ibm.com/community/user/datamanagement/discussion/how-to-use-db2connect-license-file-for-ibm-db2-net-provider-nuget-package#bmbe68bacf-0e65-4e7e-89e2-01871495d413