Các hướng dẫn sau đây chỉ cho bạn cách kết nối Oracle trên Linux với PostgreSQL. Để biết thêm thông tin về DG4ODBC, hãy tham khảo hướng dẫn DG4ODBC của chúng tôi.
- Tải xuống trình điều khiển PostgreSQL ODBC 64-bit cho Linux.
- Cài đặt và cấp phép trình điều khiển PostgreSQL ODBC trên máy có cài đặt Oracle.
Để biết hướng dẫn cài đặt, hãy xem tài liệu trình điều khiển ODBC.
Lưu ý Bạn cần cài đặt Trình quản lý trình điều khiển unixODBC trên máy của mình. Bản phân phối Easysoft bao gồm phiên bản Trình quản lý trình điều khiển unixODBC mà trình điều khiển Easysoft PostgreSQL ODBC đã được thử nghiệm. Chương trình cài đặt trình điều khiển Easysoft cung cấp cho bạn tùy chọn cài đặt unixODBC.
- Tạo nguồn dữ liệu ODBC trong /etc/odbc.ini kết nối với cơ sở dữ liệu PostgreSQL mà bạn muốn truy cập từ Oracle. Ví dụ:
[POSTGRES_SAMPLE] Driver=Easysoft ODBC-Postgres Server Description=Easysoft ODBC-Postgres Server Server=192.0.2.1 Port=5432 Database=employees User=postgres Password=p4550rd Logging=No LogFile= Encrypt=No
- Sử dụng isql để kiểm tra nguồn dữ liệu mới. Ví dụ:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v POSTGRESQL_SAMPLE
Tại lời nhắc, gõ "help" để hiển thị danh sách các bảng. Để thoát, hãy nhấn quay lại trong một dòng nhắc trống.
Nếu bạn không thể kết nối, hãy tham khảo bài viết này để được hỗ trợ.
- Tạo tệp init DG4ODBC. Để thực hiện việc này, hãy thay đổi thành
hs/admin
thư mục con. Ví dụ:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Tạo bản sao của tệp
initdg4odbc.ora
. Đặt tên cho tệp mớiinitpostgresql.ora
. - Đảm bảo các thông số và giá trị này có trong tệp init của bạn:
HS_FDS_CONNECT_INFO = my_postgresql_odbc_dsn
Thay thế my_postgresql_odbc_dsn với tên của nguồn dữ liệu trình điều khiển PostgreSQL ODBC kết nối với máy chủ PostgreSQL đích. Ví dụ
HS_FDS_CONNECT_INFO = "POSTGRES_SAMPLE"
- Nhận xét dòng cho phép theo dõi DG4ODBC. Ví dụ:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Thêm mục nhập vào
listener.ora
tạo SID_NAME cho DG4ODBC. Ví dụ:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=postgresql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Thêm mục nhập DG4ODBC vào
tnsnames.ora
chỉ định SID_NAME đã tạo ở bước trước. Ví dụ:POSTGRESQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = postgresql) ) (HS = OK) )
Thay thế oracle_host với tên máy chủ của máy Oracle của bạn.
- Khởi động (hoặc khởi động lại) Trình xử lý Oracle. Ví dụ:
lsnrctl stop lsnrctl start
- Kết nối với cơ sở dữ liệu Oracle của bạn trong SQL * Plus.
- Trong SQL * Plus, tạo liên kết cơ sở dữ liệu cho máy chủ PostgreSQL đích. Ví dụ:
CREATE PUBLIC DATABASE LINK postgresqllink CONNECT TO "my_postgresql_user" IDENTIFIED by "my_postgresql_password" USING 'postgresql'; SELECT * from employees@postgresqllink
Ghi chú
- Nếu bạn gặp sự cố khi kết nối với PostgreSQL từ Oracle, hãy bật theo dõi DG4ODBC và kiểm tra các tệp theo dõi được ghi vào
hs/log
danh mục. Để bật theo dõi DG4ODBC, hãy thêm dòngHS_FDS_TRACE_LEVEL = DEBUG
tớiinitpostgresql.ora
và sau đó khởi động / khởi động lại trình nghe Oracle. Nếulog
thư mục không tồn tại, tạo nó. Ví dụ:mkdir log chmod +w log
- Nếu bạn gặp lỗi "ORA-00997:sử dụng bất hợp pháp kiểu dữ liệu LONG", hãy thêm một trong các mục sau vào nguồn dữ liệu ODBC của bạn:
DisguiseLong=1 # For non-Wide PostgreSQL long columns LimitLong=size in bytes # If this value is too big you will get ORA-00997
–Hay–
DisguiseWlong=1 LimitLong=size in bytes# If this value is too big you will get ORA-00997
- Nếu bạn gặp phải "ORA-28562:Lỗi cắt ngắn dữ liệu Dịch vụ Không đồng nhất", khi làm việc với dữ liệu PostgreSQL trong Oracle, chúng tôi có thể có một giải pháp cho bạn, nhưng bạn cần hiểu ý nghĩa của việc sử dụng nó. Để biết thêm thông tin, hãy liên hệ với nhóm Hỗ trợ Easysoft ().