UniVerseはunixODBCDriverManagerにリンクされており、ODBCドライバーを使用してサードパーティのデータベースに接続できます。たとえば、UniVerseはunixODBCとSQLServerODBCドライバーを使用してSQLServerに接続できます。このブログでは、このプロセスの概要と、問題が発生した場合に試すべきいくつかのことを説明しています。
UniVerseからSQLServerにアクセスするには、次のコンポーネントが必要です。
UniVerse -> unixODBC Driver Manager -> SQL Server ODBC Driver -> SQL Server
UniVerseには、ODBCDriverManagerが付属しています。 $uvhome/bin/libodbc.sl
。このバージョンのドライバーマネージャーは、SQLServerODBCドライバーがインストールされているバージョンに置き換える必要があります。これを行うには、次のようにします。
- UniVerseをシャットダウンします。
- libodbc。extensionの場所を確認します システム上にあります。 SQL Server ODBCドライバーディストリビューションに含まれているドライバーマネージャーを使用している場合、unixODBCは install_dirにあります。 / unixODBC/lib。 (デフォルトでは、 install_dir / usr / localです。)
- unixODBCディレクトリを環境に追加します(必要に応じてLD_LIBRARY_PATH、SHLIB_PATH、LIB_PATHを使用します)。例:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib export LD_LIBRARY_PATH
- relink.uvlibsスクリプトを実行します:
cd $uvhome/bin relink.uvlibs /usr/local/easysoft/unixODBC/lib
- UniVerseを起動します。
これを行った後、SQL Serverに接続できない場合は、次のことを試してください。
- 実行する場合:
file $uvhome/bin/libodbc.extension file install_dir/unixODBC/lib/libodbc.extension
ライブラリは同じアーキテクチャですか。そうでない場合は、UniVerseのアーキテクチャに一致するunixODBCのバージョンを使用する必要があります。
- 複数のUniVerseユーザーがいる場合は、UniVerseを再起動してシステム/EasysoftバージョンのunixODBCドライバーマネージャーを使用する前に、すべてのユーザーにUniVerseセッションを終了するように依頼してください。
- 実行する場合は、
ENV
UniVerseシェルで、ドライバマネージャディレクトリが一覧表示されていますか?例:ENV SHLIB_PATH=/usr/lib:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib
- UniVerseプロセスはどのドライバーマネージャーにリンクされていますか?例:
pldd 100101 100101: /uv/bin/uvsh /uv/bin/libodbc.sl
この
pldd
コマンド抽出は、UniVerseがまだUniVerseが提供するドライバーマネージャーを使用していることを示しています。