UniVerse är länkat till unixODBC Driver Manager, vilket gör att den kan ansluta till tredjepartsdatabaser med hjälp av en ODBC-drivrutin. Till exempel kan UniVerse använda unixODBC och en SQL Server ODBC-drivrutin för att ansluta till SQL Server. Den här bloggen ger en översikt över denna process, tillsammans med några saker att prova om du upplever svårigheter.
Åtkomst till SQL Server från UniVerse involverar följande komponenter:
UniVerse -> unixODBC Driver Manager -> SQL Server ODBC Driver -> SQL Server
UniVerse levereras med en ODBC Driver Manager t.ex. $uvhome/bin/libodbc.sl
. Du måste ersätta den här versionen av Driver Manager med den som SQL Server ODBC-drivrutinen är installerad under. För att göra detta:
- Stäng av UniVerse.
- Ta reda på var libodbc.tillägget finns på ditt system. Om du använder Driver Manager som ingick i SQL Server ODBC-drivrutinsdistributionen, finns unixODBC i install_dir /unixODBC/lib. (Som standard, install_dir är /usr/local.)
- Lägg till unixODBC-katalogerna till din miljö (genom att använda LD_LIBRARY_PATH, SHLIB_PATH, LIB_PATH efter behov). Till exempel:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib export LD_LIBRARY_PATH
- Kör relink.uvlibs-skriptet:
cd $uvhome/bin relink.uvlibs /usr/local/easysoft/unixODBC/lib
- Starta UniVerse.
Om du efter att ha gjort detta inte kan ansluta till SQL Server, prova följande:
- Om du kör:
file $uvhome/bin/libodbc.extension file install_dir/unixODBC/lib/libodbc.extension
Har biblioteken samma arkitektur. Om inte, måste du använda en version av unixODBC som matchar UniVerses arkitektur.
- Om du har flera UniVerse-användare, be alla användare att avsluta sina UniVerse-sessioner innan du startar om UniVerse för att använda ditt system/Easysoft-version av unixODBC Driver Manager.
- Om du kör,
ENV
i ditt UniVerse-skal, ser du drivrutinshanterarens kataloger listade? Till exempel:ENV SHLIB_PATH=/usr/lib:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib
- Vilken drivrutinshanterare är UniVerse-processen kopplad till? Till exempel:
pldd 100101 100101: /uv/bin/uvsh /uv/bin/libodbc.sl
Denna
pldd
kommandoextrakt visar att UniVerse fortfarande använder den med UniVerse medföljande drivrutinshanteraren.