2017-09-20 3 views
0

ODBCManageDataSourcesQ4, ODBCCreateDataSourceQ4 Impossible trouver ODBCINSTGetProperties()ODBCManageDataSourcesQ4, ODBCCreateDataSourceQ4 Impossible trouver ODBCINSTGetProperties()

ubuntu 16.04.2 x64 unixODBC paquets 2.3.4 unixODBC installé et unixpdbc-dev avec apt-get install. ODBCManageDataSourcesQ4 et ODBCCreateDataSourceQ4 (unixODBC-Qt Gui-1.0.1)

I édités manuellement /etc/odbcinst.ini et /etc/odbc.ini pour ajouter des détails et DSN pilote de système pour mon environnement DB2. Je suis en train de connecter unixODBC à DB2 et cela fonctionne avec isql. Je peux donc me connecter avec succès au DSN système et exécuter des instructions SQL avec succès sur la ligne de commande sous Linux pour utiliser Db2.

Mon problème avec les interfaces graphiques: ODBCManageDataSourcesQ4 et ODBCCreateDataSourceQ4, ils signalent « Impossible de trouver ODBCINSTGetProperties() »

Les deux ODBCManageDataSourcesQ4 et ODBCCreateDataSourceQ4 montrent le pilote DB2 enregistré, mais ils sont incapables de le configurer parce que le odbcinst. La bibliothèque de ligne ini SETUP ne semble pas avoir la méthode ODBCINSTGetProperties().

Le /etc/odbcinst.ini a:

[DB2] 
Description = IBM DB2 Driver 
Driver = /opt/ibm/db2/V11.1.2.2/lib64/libdb2.so.1 
Setup = /opt/ibm/db2/V11.1.2.2/lib64/libdb2cfg.so.1 
FileUsage = 1 
DontDLClose = 1 

[ODBC] 
Trace=Yes 
TraceFile=/tmp/unixodbc.trc.log 
Pooling=No 

J'ai cherché tous les fichiers /opt/ibm/db2/V11.1.2.2/lib64 sans trouver qui mentionnent ODBCINSTGetProperties() Ma question est de savoir si c'est quelque chose qui doit être fourni en externe (par exemple par quelqu'un qui l'écrit), ou si unixODBC s'attend à ce que ce soit fourni par le pilote (dans ce cas le pilote du serveur de données IBM DB2).

Répondre

0

Vérifié le code source dans un instantané de sourceforge. À partir du fichier odbcinstQ4/CDataSourceNamesFileModel.cpp, il lit:

  • Cela repose sur le pilote sélectionné ayant une bibliothèque configuration viable. Par * viable, nous voulons dire qu'il implémente ODBCINSTGetProperties.

Donc, la réponse semble être que IBM n'a pas fourni les crochets pertinents dans le pilote Db2 pour permettre les outils de l'interface graphique ODBCManageDataSourcesQ4, ODBCCreateDataSourceQ4 pour fonctionner. Il est nécessaire de configurer le pilote via des fichiers texte au lieu d'utiliser une interface graphique.