2009-03-26 41 views
9

Hướng dẫn của Oracle chỉ định cài đặt DYLD_LIBRARY_PATH. Điều này làm cho ứng dụng của tôi phụ thuộc vào cấu hình của người dùng ngẫu nhiên và rất khó thiết lập.cài đặt Oracle Instantclient trên Mac OS/X mà không cần thiết lập biến môi trường?

Làm cách nào để tránh phải đặt bất kỳ biến môi trường nào?

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html

lưu ý liên quan cho Linux: installing Oracle Instantclient on Linux without setting environment variables?

Trả lời

23

hướng dẫn cài đặt instantclient Oracle xác định rằng người sử dụng thiết lập DYLD_LIBRARY_PATH. Điều này là rất phiền hà để quản lý cho nhiều người dùng.

Để sử dụng instantclient mà không đặt bất kỳ biến môi trường nào:

Tải xuống bản phân phối tức thì từ oracle.com. Để thực hiện phát triển phần mềm không phải java, bạn sẽ cần (giả sử Oracle 10.2):

instantclient-basic-macosx-10.2.0.4.0.zip 
instantclient-sdk-macosx-10.2.0.4.0.zip 
instantclient-sqlplus-macosx-10.2.0.4.0.zip 

Giải nén ba tệp. Điều này sẽ cung cấp cho bạn một thư mục

instantclient_10_2/ 

Sao chép tệp vào/usr, một trong những địa điểm mặc định mà trình tải động tìm kiếm.

sudo cp instantclient_10_2/sdk/include/*.h /usr/include 
sudo cp instantclient_10_2/sqlplus   /usr/bin 
sudo cp instantclient_10_2/*.dylib   /usr/lib 

Nếu bạn sử dụng tnsnames.ora, hãy sao chép nó vào/etc, địa điểm mặc định toàn cầu tìm kiếm trong thời gian chạy.

sudo cp tnsnames.ora /etc 

Thử nghiệm với

/usr/bin/sqlplus scott/[email protected] 
+0

này âm thanh tuyệt vời. Nhưng, tôi đang cố gắng tìm nơi tải xuống có sẵn cho instantclient. Dường như không thể tìm thấy chúng. –

+0

Cuối cùng tìm thấy vị trí tải xuống: http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html –

+5

sao chép * .dylib là không đủ. Bạn cũng phải sao chép * .dylib.10.1 –

0

Sau nhiều nghiên cứu Tôi tìm thấy một giải pháp bền vững để lỗi này, mà liên quan đến việc chỉnh sửa tập tin launchd cấu hình .plist Apache để xác định các yêu cầu DYLD_LIBRARY_PATH, ORACLE_HOME, và LD_LIBRARY_PATH biến môi trường.

Bạn có thể xem là câu trả lời đầy đủ ở đây: https://stackoverflow.com/a/20670810/1914455

2

Nếu mục tiêu của bạn chỉ đơn giản là để chạy sqlplus trên MacBook của bạn, điều này có thể làm việc cho bạn. Hủy bỏ các biến môi trường DYLD_LIBRARY_PATH từ ~/.bashrc và thay thế bằng một bí danh:

alias sqlplus="DYLD_LIBRARY_PATH=/Applications/instantclient_11_2 sqlplus"

Blog entry: sqlplus and DYLD_LIBRARY_PATH on Mac OS/X

Các vấn đề liên quan