O UniVerse está vinculado ao unixODBC Driver Manager, que permite que ele se conecte a bancos de dados de terceiros usando um driver ODBC. Por exemplo, o UniVerse pode usar unixODBC e um driver ODBC do SQL Server para se conectar ao SQL Server. Este blog fornece uma visão geral desse processo, juntamente com algumas coisas para tentar se você tiver dificuldades.
Acessar o SQL Server do UniVerse envolve os seguintes componentes:
UniVerse -> unixODBC Driver Manager -> SQL Server ODBC Driver -> SQL Server
O UniVerse é fornecido com um Gerenciador de Driver ODBC, por exemplo.
$uvhome/bin/libodbc.sl
. Você precisa substituir esta versão do Driver Manager com aquela em que o driver ODBC do SQL Server está instalado. Para fazer isso, você:- Encerre o UniVerse.
- Descubra onde libodbc.extensão está localizado em seu sistema. Se você estiver usando o Driver Manager que foi incluído na distribuição do driver ODBC do SQL Server, unixODBC está localizado em install_dir /unixODBC/lib. (Por padrão, install_dir é /usr/local.)
- Adicione os diretórios unixODBC ao seu ambiente (usando LD_LIBRARY_PATH, SHLIB_PATH, LIB_PATH conforme apropriado). Por exemplo:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib export LD_LIBRARY_PATH
- Execute o script relink.uvlibs:
cd $uvhome/bin relink.uvlibs /usr/local/easysoft/unixODBC/lib
- Inicie o Universo.
Se depois de fazer isso você não conseguir se conectar ao SQL Server, tente o seguinte:
- Se você executar:
file $uvhome/bin/libodbc.extension file install_dir/unixODBC/lib/libodbc.extension
As bibliotecas são da mesma arquitetura. Caso contrário, você precisa usar uma versão do unixODBC que corresponda à arquitetura do UniVerse.
- Se você tiver vários usuários do UniVerse, peça a todos os usuários que concluam suas sessões do UniVerse, antes de reiniciar o UniVerse para usar sua versão do sistema / Easysoft do gerenciador de driver unixODBC.
- Se você executar,
ENV
em seu shell do UniVerse, você vê os diretórios do gerenciador de drivers listados? Por exemplo:ENV SHLIB_PATH=/usr/lib:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib
- A qual Gerenciador de Drivers o processo do UniVerse está vinculado? Por exemplo:
pldd 100101 100101: /uv/bin/uvsh /uv/bin/libodbc.sl
Estepldd
comando extract mostra que o UniVerse ainda está usando o Gerenciador de Driver fornecido pelo UniVerse.