2017-10-11 8 views
0

Obtention de l'erreur suivante lors de l'utilisation de mqsicvp pour tester la connectivité à une source de données ODBC à partir d'IBM Integration Console.IIB - Erreur d'initialisation DLL lors de la connexion au DSN ODBC DB2 via mqsicvp

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. 

Logiciel: Windows 10/IIB 10/serveur DB2

Procédure pour reproduire:

  1. Configuration de la connectivité ODBC (64 bits) à une nouvelle base de données DB2 sous la forme d'un DSN système (à l'aide du pilote IBM DB2 ODBC version 11.01.2020.1393)
  2. Test de la connectivité à partir de l'application d'administration de la source de données ODBC
  3. Utilisation de mqsisetdbparms d'IBM Integrati sur la console pour définir l'utilisateur et le mot de passe

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

  1. Arrêtez et démarrez le courtier
  2. Utilisez mqsicvp pour tester la connectivité

mqsicvp DEFAULTBRK -n MSAPP

La DLL mentionné dans l'erreur est C: \ PROGRA ~ 1 \ IBM \ SQLLIB \ BIN et cela est inclus dans la variable PATH déjà.

Je ne sais pas pourquoi le gestionnaire de pilotes odbc32.dll est utilisé - je suppose que c'est une version 32 bits. Toutefois, si j'essaie de créer un DSN dans l'application d'administration de source de données ODBC 32 bits, mqsicvp échoue avec une erreur indiquant que les architectures ne correspondent pas.

+0

Avez-vous vérifié http://www-01.ibm.com/support/docview.wss?uid=swg21384435 – mao

+0

@mao Je l'ai vérifié tout à l'heure, mais cela n'a pas aidé. Je crée un DSN 64 bits et cela devrait fonctionner. Le chemin est déjà là dans PATH. –

+0

Quelle est la mordance du mqsicvp? – mao

Répondre

0

Nous vous suggérons de télécharger le correctif d'IBM pour le bogue IT23069. Il est disponible (indirectement) à partir de this page qui finit par rediriger vers IBM Fix Central. A travaillé pour moi.