UniVerse được liên kết với Trình quản lý trình điều khiển unixODBC, cho phép nó kết nối với cơ sở dữ liệu của bên thứ ba bằng cách sử dụng trình điều khiển ODBC. Ví dụ:UniVerse có thể sử dụng unixODBC và trình điều khiển SQL Server ODBC để kết nối với SQL Server. Blog này cung cấp thông tin tổng quan về quá trình này, cùng với một số điều cần thử nếu bạn gặp khó khăn.
Việc truy cập SQL Server từ UniVerse bao gồm các thành phần sau:
UniVerse -> unixODBC Driver Manager -> SQL Server ODBC Driver -> SQL Server
UniVerse đi kèm với Trình quản lý trình điều khiển ODBC, ví dụ:$uvhome/bin/libodbc.sl
. Bạn cần thay thế phiên bản này của Trình quản lý trình điều khiển bằng phiên bản mà trình điều khiển ODBC SQL Server được cài đặt theo. Để làm điều này, bạn:
- Tắt UniVerse.
- Tìm hiểu phần mở rộng libodbc. nằm trên hệ thống của bạn. Nếu bạn đang sử dụng Trình quản lý trình điều khiển được bao gồm trong bản phân phối trình điều khiển SQL Server ODBC, unixODBC nằm trong install_dir / unixODBC / lib. (Theo mặc định, install_dir is / usr / local.)
- Thêm các thư mục unixODBC vào môi trường của bạn (bằng cách sử dụng LD_LIBRARY_PATH, SHLIB_PATH, LIB_PATH nếu thích hợp). Ví dụ:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib export LD_LIBRARY_PATH
- Chạy tập lệnh relink.uvlibs:
cd $uvhome/bin relink.uvlibs /usr/local/easysoft/unixODBC/lib
- Khởi động UniVerse.
Nếu sau khi thực hiện việc này, bạn không thể kết nối với SQL Server, hãy thử cách sau:
- Nếu bạn chạy:
file $uvhome/bin/libodbc.extension file install_dir/unixODBC/lib/libodbc.extension
Các thư viện có kiến trúc giống nhau không. Nếu không, bạn cần sử dụng phiên bản unixODBC phù hợp với kiến trúc của UniVerse.
- Nếu bạn có nhiều người dùng UniVerse, hãy yêu cầu tất cả người dùng kết thúc phiên UniVerse của họ, trước khi khởi động lại UniVerse để sử dụng phiên bản hệ thống / Easysoft của Trình quản lý trình điều khiển unixODBC.
- Nếu bạn chạy,
ENV
trong trình bao UniVerse của bạn, bạn có thấy các thư mục trình quản lý trình điều khiển được liệt kê không? Ví dụ:ENV SHLIB_PATH=/usr/lib:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib
- Quá trình UniVerse được liên kết với Trình quản lý trình điều khiển nào? Ví dụ:
pldd 100101 100101: /uv/bin/uvsh /uv/bin/libodbc.sl
pldd
này trích xuất lệnh cho thấy UniVerse vẫn đang sử dụng Trình quản lý trình điều khiển do UniVerse cung cấp.