Deep-B
Deep-B

Reputation: 1344

IIB - DLL Initialization Error in Connecting to DB2 ODBC DSN via mqsicvp

Getting the following error while using mqsicvp to test connectivity to a ODBC data source from IBM Integration Console.

C:\Program Files\IBM\IIB\10.0.0.9>mqsicvp DEFAULTBRK -n MSAPP -v
BIP8299I: User 'db2admin' from security resource name 'odbc::MSAPP' will be used for the connection to datasource 'MSAPP'.

BIP2393E: Database error: ODBC return code '-1' from data source ''MSAPP'' using ODBC driver manager ''odbc32.dll''.
The integration node received an error when processing a database operation. The ODBC return code was '-1'. See the following messages for information obtained from the database about this error.
Use the following messages to determine the cause of the error. Typical problems are an incorrect data source, or table names. Correct either the database or the integration node configuration. Use the mqsicvp command to test connectivity to this database.
BIP2322E: Database error: SQL State ''IM003''; Native Error Code '160'; Error Text ''Specified driver could not be loaded due to system error  1114: A dynamic link library (DLL) initialization routine failed. (IBM DB2 ODBC DRIVER - DB2COPY1, C:\PROGRA~1\IBM\SQLLIB\BIN\DB2CLIO.DLL).''.
The error has the following diagnostic information:     SQL State             ''IM003''     SQL Native Error Code '160'     SQL Error Text        ''Specified driver could not be loaded due to system error  1114: A dynamic link library (DLL) initialization routine failed. (IBM DB2 ODBC DRIVER - DB2COPY1, C:\PROGRA~1\IBM\SQLLIB\BIN\DB2CLIO.DLL).''
This message may be accompanied by other messages describing the effect on the integration node itself. Use the reason identified in this message with the accompanying messages to determine the cause of the error. Use the mqsicvp command to test connectivity to this database.

BIP8040E: Unable to connect to the database.
The database cannot be accessed with the specified user Id and password pair.
- Check that the database is running.
 - Check that the database has an adequate number of database connections available for use.
 - On Windows, check that an ODBC connection has been created.
 - On systems that use $ODBCINI, check that the file pointed to by $ODBCINI has been correctly updated.
 - On z/OS check the BIPDSNAO member of the component's dataset, and check the DB2 64bit ODBC driver (DSNAO64C) is in the STEPLIB.
 - Use mqsisetdbparms to set the password to the correct value and try again.

Software: Windows 10 / IIB 10 / DB2 Server

Steps to reproduce:

  1. Set up ODBC (64-bit) connectivity to a new DB2 database in the form of a System DSN (using the IBM DB2 ODBC Driver version 11.01.2020.1393)
  2. Test that connectivity works from ODBC data source administrator app
  3. Use mqsisetdbparms from IBM Integration Console to set the user and password

mqsisetdbparms DEFAULTBRK -n odbc::MSAPP -u uid -p pwd

  1. Stop and start the broker
  2. Use mqsicvp to test connectivity

mqsicvp DEFAULTBRK -n MSAPP

The DLL mentioned in the error is at C:\PROGRA~1\IBM\SQLLIB\BIN and this is included within PATH variable already.

I'm not sure why the driver manager odbc32.dll is being used - I presume this is a 32-bit version. However if I try creating a DSN in the 32-bit ODBC data source administrator app, mqsicvp fails with an error saying the architectures do not match.

Upvotes: 1

Views: 2462

Answers (2)

Deep-B
Deep-B

Reputation: 1344

The newest developer edition toolkit, 10.0.0.12, seems to have fixed this.

Upvotes: 0

mao
mao

Reputation: 12267

Suggest you download the fix from IBM for bug IT23069. It is available (indirectly) from this page which eventually redirects to IBM fix central. Worked for me.

Upvotes: 1

Related Questions