UniVerse est lié au gestionnaire de pilotes unixODBC, ce qui lui permet de se connecter à des bases de données tierces à l'aide d'un pilote ODBC. Par exemple, UniVerse peut utiliser unixODBC et un pilote ODBC SQL Server pour se connecter à SQL Server. Ce blog donne un aperçu de ce processus, ainsi que quelques trucs à essayer si vous rencontrez des difficultés.
L'accès à SQL Server depuis UniVerse implique les composants suivants :
UniVerse -> unixODBC Driver Manager -> SQL Server ODBC Driver -> SQL Server
UniVerse est livré avec un gestionnaire de pilotes ODBC, par ex. $uvhome/bin/libodbc.sl
. Vous devez remplacer cette version du gestionnaire de pilotes par celle sous laquelle le pilote ODBC SQL Server est installé. Pour ce faire, vous :
- Arrêtez UniVerse.
- Découvrez où libodbc.extension se trouve sur votre système. Si vous utilisez le gestionnaire de pilotes inclus dans la distribution du pilote ODBC SQL Server, unixODBC se trouve dans install_dir /unixODBC/lib. (Par défaut, install_dir est /usr/local.)
- Ajoutez les répertoires unixODBC à votre environnement (en utilisant LD_LIBRARY_PATH, SHLIB_PATH, LIB_PATH selon le cas). Par exemple :
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib export LD_LIBRARY_PATH
- Exécutez le script relink.uvlibs :
cd $uvhome/bin relink.uvlibs /usr/local/easysoft/unixODBC/lib
- Démarrez UniVerse.
Si après avoir fait cela, vous ne parvenez pas à vous connecter à SQL Server, essayez ce qui suit :
- Si vous exécutez :
file $uvhome/bin/libodbc.extension file install_dir/unixODBC/lib/libodbc.extension
Les bibliothèques ont-elles la même architecture. Sinon, vous devez utiliser une version d'unixODBC qui correspond à l'architecture d'UniVerse.
- Si vous avez plusieurs utilisateurs UniVerse, demandez à tous les utilisateurs de terminer leurs sessions UniVerse avant de redémarrer UniVerse pour utiliser votre système/la version Easysoft du gestionnaire de pilotes unixODBC.
- Si vous exécutez,
ENV
dans votre shell UniVerse, voyez-vous les répertoires du gestionnaire de pilotes répertoriés ? Par exemple :ENV SHLIB_PATH=/usr/lib:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib
- À quel gestionnaire de pilotes le processus UniVerse est-il lié ? Par exemple :
pldd 100101 100101: /uv/bin/uvsh /uv/bin/libodbc.sl
Ce
pldd
L'extrait de commande montre qu'UniVerse utilise toujours le gestionnaire de pilotes fourni par UniVerse.