Database
 sql >> Base de données >  >> RDS >> Database

Astuces Univers

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 :

  1. Arrêtez UniVerse.
  2. 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.)
  3. 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
    
  4. Exécutez le script relink.uvlibs :
    cd $uvhome/bin
    relink.uvlibs /usr/local/easysoft/unixODBC/lib
    
  5. 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.