2010-09-17 8 views
0

Je reçois cette erreur! Traceback (dernier appel en dernier): Fichier "/home/e*****/RRR/RRR_Success.py", ligne 37, dans? importation ibm_db ImportError: libdb2.so.1: ne peut pas ouvrir le fichier objet partagé: Aucun fichier ou répertoireerreur lors de "importation ibm_db"

S'il vous plaît me aider à résoudre ce problème

Répondre

0

(Re) installer ibm-db

+0

Je ne sais pas si ibm-db réinstalle le client db2 , mais juste réinstaller les fichiers python ne devrait pas résoudre le problème. Puisque ceci est lié aux liens de fichiers C++. – Mahesh

0

D'après mon expérience LD_LIBRARY_PATH n'était pas nécessaire. J'ai eu ce problème sur un système où le pilote odbc db2 db2 et le serveur db2 étaient sur la même machine.

Vérifiez d'abord s'il n'y a qu'un seul fichier libdb2.so.1 sur le système.
find/-name libdb2.so.1


S'il y en a deux, il y a des chances qu'ils soient différents, vérifiez donc la somme md5.

[root @ localhost ~] # cat /etc/ld.so.conf.d/db2-odbc.conf
/opt/ibm/db2/odbc_cli/clidriver/lib
[root @ localhost ~ ] # ll /opt/ibm/db2/odbc_cli/clidriver/lib/libdb2.so.1
[racine @ localhost ~] # ll /home/db2inst1/sqllib/lib64/libdb2.so.1
-r- xr-xr-x 1 bin bin 42685547 Dec 15 08:49 /home/db2inst1/sqllib/lib64/libdb2.so.1

[racine @ localhost ~] # md5sum/home/db2inst1/sqllib/lib64/libdb2 .so.1
ffca929b98201e3934e9625d1480890f/home/db2inst1 /sqllib/lib64/libdb2.so.1
[root @ localhost ~] # md5sum /opt/ibm/db2/odbc_cli/clidriver/lib/libdb2.so.1
a1247f1582eb1bd2fc248b3901812951/opt/ibm/db2/odbc_cli/clidriver/lib/libdb2.so.1
[root @ localhost ~] #


Les fichiers sont différents, vous pouvez contrôler quel fichier est lié en modifiant ldconfig.
[root @ localhost ~] # ll /etc/ld.so.conf.d/
au total 24
-rw-r - r--. 1 racine 17 février 9 2012 atlas-x86_64.conf
-rw-r - r-- 1 racine racine 28 déc 15 08:50 db2.conf
-rw-r - r-- 1 racine racine 36 15 décembre 09:07 db2-odbc.conf
-r - r - r--. 1 racine racine 324 Juin 6 2014 kernel-2.6.32-431.20.3.el6.x86_64.conf
-rw-r - r--. 1 racine racine 17 Février 3 2014 mysql-x86_64.conf
-rw-r - r--. 1 racine pied 22 18 juillet 2011 qt-x86_64.conf
[root @ localhost ~] #

J'ai supprimé le fichier db2.conf de ce dossier, et a couru ldconfig, il a ensuite commencé à travailler.

[root @ localhost ~] # mv de la Mahesh/
[root @ localhost ~] # ldconfig


Notez que la db2 Le client de db2inst1 fonctionne toujours et c'est là que LD_LIBRARY_PATH est défini.

[root @ localhost ~] # su - db2inst1
[db2inst1 @ localhost ~] $ db2 connect to nombd

Base de données Connexion Informations

serveur base de données = DB2/LINUXX8664 10.5.3
ID d'autorisation SQL = DB2INST1
Base de données locale alias = nombdd

[db2inst1 @ localhost ~] $ env | grep BIBLIOTHÈQUE
LD_LIBRARY_PATH =/home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib32
[db2inst1 @ localhost ~] $