UniVerse is gekoppeld aan de unixODBC Driver Manager, waardoor het verbinding kan maken met databases van derden met behulp van een ODBC-stuurprogramma. UniVerse kan bijvoorbeeld unixODBC en een SQL Server ODBC-stuurprogramma gebruiken om verbinding te maken met SQL Server. Deze blog geeft een overzicht van dit proces, samen met een paar dingen die u kunt proberen als u problemen ondervindt.
Toegang tot SQL Server vanuit UniVerse omvat de volgende componenten:
UniVerse -> unixODBC Driver Manager -> SQL Server ODBC Driver -> SQL Server
UniVerse wordt geleverd met een ODBC Driver Manager, b.v. $uvhome/bin/libodbc.sl
. U moet deze versie van Driver Manager vervangen door de versie waaronder de SQL Server ODBC-driver is geïnstalleerd. Om dit te doen, moet je:
- Sluit UniVerse af.
- Ontdek waar libodbc.extensie bevindt zich op uw systeem. Als u de Driver Manager gebruikt die is opgenomen in de SQL Server ODBC-stuurprogrammadistributie, bevindt unixODBC zich in install_dir /unixODBC/lib. (Standaard install_dir is /usr/local.)
- Voeg de unixODBC-mappen toe aan uw omgeving (door gebruik te maken van LD_LIBRARY_PATH, SHLIB_PATH, LIB_PATH indien van toepassing). Bijvoorbeeld:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib export LD_LIBRARY_PATH
- Voer het relink.uvlibs-script uit:
cd $uvhome/bin relink.uvlibs /usr/local/easysoft/unixODBC/lib
- Start UniVerse.
Als u na dit gedaan te hebben geen verbinding kunt maken met SQL Server, probeer dan het volgende:
- Als u het volgende uitvoert:
file $uvhome/bin/libodbc.extension file install_dir/unixODBC/lib/libodbc.extension
Zijn de bibliotheken dezelfde architectuur. Als dat niet het geval is, moet u een versie van unixODBC gebruiken die overeenkomt met de UniVerse-architectuur.
- Als je meerdere UniVerse-gebruikers hebt, vraag dan alle gebruikers om hun UniVerse-sessies af te ronden, voordat je UniVerse opnieuw start om je systeem/Easysoft-versie van de unixODBC Driver Manager te gebruiken.
- Als je rent,
ENV
ziet u in uw UniVerse-shell de directory's van de drivermanager vermeld? Bijvoorbeeld:ENV SHLIB_PATH=/usr/lib:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib
- Aan welke Driver Manager is het UniVerse-proces gekoppeld? Bijvoorbeeld:
pldd 100101 100101: /uv/bin/uvsh /uv/bin/libodbc.sl
Deze
pldd
commando-extract laat zien dat UniVerse nog steeds de door UniVerse geleverde Driver Manager gebruikt.