UniVerse er knyttet til unixODBC Driver Manager, som gør det muligt at oprette forbindelse til tredjeparts databaser ved at bruge en ODBC driver. For eksempel kan UniVerse bruge unixODBC og en SQL Server ODBC-driver til at oprette forbindelse til SQL Server. Denne blog giver et overblik over denne proces sammen med et par ting, du kan prøve, hvis du oplever vanskeligheder.
Adgang til SQL Server fra UniVerse involverer følgende komponenter:
UniVerse -> unixODBC Driver Manager -> SQL Server ODBC Driver -> SQL Server
UniVerse leveres med en ODBC Driver Manager, f.eks. $uvhome/bin/libodbc.sl
. Du skal erstatte denne version af Driver Manager med den, som SQL Server ODBC-driveren er installeret under. For at gøre dette skal du:
- Luk UniVerse.
- Find ud af, hvor libodbc.udvidelsen er placeret på dit system. Hvis du bruger Driver Manager, der var inkluderet i SQL Server ODBC driver distribution, er unixODBC placeret i install_dir /unixODBC/lib. (Som standard er install_dir er /usr/local.)
- Tilføj unixODBC-bibliotekerne til dit miljø (ved at bruge LD_LIBRARY_PATH, SHLIB_PATH, LIB_PATH efter behov). For eksempel:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib export LD_LIBRARY_PATH
- Kør relink.uvlibs-scriptet:
cd $uvhome/bin relink.uvlibs /usr/local/easysoft/unixODBC/lib
- Start UniVerse.
Hvis du efter at have gjort dette, ikke er i stand til at oprette forbindelse til SQL Server, så prøv følgende:
- Hvis du kører:
file $uvhome/bin/libodbc.extension file install_dir/unixODBC/lib/libodbc.extension
Er bibliotekerne den samme arkitektur. Hvis ikke, skal du bruge en version af unixODBC, der matcher UniVerses arkitektur.
- Hvis du har flere UniVerse-brugere, skal du bede alle brugere om at afslutte deres UniVerse-sessioner, før du genstarter UniVerse for at bruge dit system / Easysoft-version af unixODBC Driver Manager.
- Hvis du kører,
ENV
i din UniVerse shell, kan du se drivermanager-bibliotekerne på listen? For eksempel:ENV SHLIB_PATH=/usr/lib:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib
- Hvilken Driver Manager er UniVerse-processen knyttet til? For eksempel:
pldd 100101 100101: /uv/bin/uvsh /uv/bin/libodbc.sl
Denne
pldd
kommandoudtræk viser, at UniVerse stadig bruger den UniVerse-leverede Driver Manager.