UniVerse ist mit dem unixODBC-Treibermanager verknüpft, der es ihm ermöglicht, mithilfe eines ODBC-Treibers eine Verbindung zu Datenbanken von Drittanbietern herzustellen. Beispielsweise kann UniVerse unixODBC und einen SQL Server-ODBC-Treiber verwenden, um eine Verbindung zu SQL Server herzustellen. Dieser Blog bietet einen Überblick über diesen Vorgang sowie einige Dinge, die Sie ausprobieren können, wenn Sie auf Schwierigkeiten stoßen.
Der Zugriff auf SQL Server von UniVerse aus umfasst die folgenden Komponenten:
UniVerse -> unixODBC Driver Manager -> SQL Server ODBC Driver -> SQL Server
UniVerse wird mit einem ODBC-Treibermanager geliefert, z. $uvhome/bin/libodbc.sl
. Sie müssen diese Version des Treiber-Managers durch die Version ersetzen, unter der der SQL Server-ODBC-Treiber installiert ist. Dazu müssen Sie:
- Fahren Sie UniVerse herunter.
- Finden Sie heraus, wo libodbc.Erweiterung befindet sich auf Ihrem System. Wenn Sie den Treiber-Manager verwenden, der in der SQL Server-ODBC-Treiberverteilung enthalten war, befindet sich unixODBC in install_dir /unixODBC/lib. (Standardmäßig ist install_dir ist /usr/local.)
- Fügen Sie die unixODBC-Verzeichnisse zu Ihrer Umgebung hinzu (unter Verwendung von LD_LIBRARY_PATH, SHLIB_PATH, LIB_PATH nach Bedarf). Zum Beispiel:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib export LD_LIBRARY_PATH
- Führen Sie das Skript relink.uvlibs aus:
cd $uvhome/bin relink.uvlibs /usr/local/easysoft/unixODBC/lib
- Starte UniVerse.
Wenn Sie danach keine Verbindung zu SQL Server herstellen können, versuchen Sie Folgendes:
- Bei Ausführung:
file $uvhome/bin/libodbc.extension file install_dir/unixODBC/lib/libodbc.extension
Haben die Bibliotheken die gleiche Architektur? Wenn nicht, müssen Sie eine Version von unixODBC verwenden, die der Architektur von UniVerse entspricht.
- Wenn Sie mehrere UniVerse-Benutzer haben, bitten Sie alle Benutzer, ihre UniVerse-Sitzungen zu beenden, bevor Sie UniVerse neu starten, um Ihr System / Ihre Easysoft-Version des unixODBC-Treibermanagers zu verwenden.
- Wenn Sie laufen,
ENV
Sehen Sie in Ihrer UniVerse-Shell die aufgelisteten Treiber-Manager-Verzeichnisse? Zum Beispiel:ENV SHLIB_PATH=/usr/lib:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib
- Mit welchem Treibermanager ist der UniVerse-Prozess verknüpft? Beispiel:
pldd 100101 100101: /uv/bin/uvsh /uv/bin/libodbc.sl
Diese
pldd
Befehlsextrakt zeigt, dass UniVerse immer noch den von UniVerse bereitgestellten Treiber-Manager verwendet.