Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Kết nối Oracle với SQL Server qua một kết nối an toàn

Trình điều khiển ODBC SQL Server cho phép bạn kết nối Oracle trên nền tảng Linux và UNIX với SQL Server hoặc SQL Azure. Nếu bạn quyết định mã hóa kết nối mạng từ các ứng dụng khách của mình sang SQL Server hoặc bạn đang sử dụng SQL Azure, bạn cần sử dụng phiên bản TLS của 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.

Nếu bạn không sử dụng phiên bản TLS của trình điều khiển SQL Server ODBC để kết nối với phiên bản SQL Server đã được định cấu hình để yêu cầu kết nối được mã hóa, bạn sẽ gặp phải lỗi này:

Client unable to establish connection: SSL requested but not supported

Nếu bạn đang sử dụng trình điều khiển ODBC Easysoft SQL Server với Oracle:

  1. Trong nguồn dữ liệu SQL Server được trỏ tới bởi HS_FDS_CONNECT_INFO trong initSID.ora , thực hiện các thay đổi sau:
    1. Thay đổi Driver từ:
      Driver = Easysoft ODBC-SQL Server

      tới:

      Driver = Easysoft ODBC-SQL Server SSL
    2. Thêm các dòng sau:
      Encrypt = Yes
      TrustServerCertificate = Yes
  2. Nếu bạn trỏ đến thư viện trình điều khiển thay vì thư viện Trình quản lý trình điều khiển trong initSID.ora , thay đổi HS_FDS_SHAREABLE_NAME giá trị thành:
    install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
  3. Khởi động lại trình nghe Oracle.

Nếu bạn là người dùng mới:

  1. Cài đặt và cấp phép trình điều khiển SQL Server 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 ODBC của Easysoft SQL Server đã đượ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.

  2. Tạo nguồn dữ liệu ODBC trong /etc/odbc.ini kết nối với cơ sở dữ liệu SQL Server mà bạn muốn truy cập từ Oracle®. Ví dụ:
    [SQLSERVER_SAMPLE]
    Driver                 = Easysoft ODBC-SQL Server SSL
    Server                 = my_machine\SQLEXPRESS
    User                   = my_domain\my_user
    Password               = my_password
    # If the database you want to connect to is the default
    # for the SQL Server login, omit this attribute
    Database               = Northwind
    Encrypt                = Yes
    TrustServerCertificate = Yes
  3. 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 SQLSERVER_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ợ.

  4. 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ới initmssql.ora .

  5. Đả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 = var>my_mssql_odbc_dsn
    

    Thay thế my_mssql_odbc_dsn với tên của nguồn dữ liệu trình điều khiển ODBC SQL Server kết nối với phiên bản SQL Server đích. Ví dụ

    HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
    
  6. Nhận xét dòng cho phép theo dõi DG4ODBC. Ví dụ:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  7. 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=mssql)
         (ORACLE_HOME=$ORACLE_HOME)
         (PROGRAM=dg4odbc)
       )
     )
    
  8. Thêm mục nhập DG4ODBC vào tnsnames.ora chỉ định SID_NAME đã tạo ở bước trước. Ví dụ:
    MSSQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = mssql)
        )
        (HS = OK)
      )
    

    Thay thế oracle_host với tên máy chủ của máy Oracle® của bạn.

  9. Khởi động (hoặc khởi động lại) Oracle® Listener. Ví dụ:
    lsnrctl stop
    lsnrctl start
    
  10. Kết nối với cơ sở dữ liệu Oracle® của bạn trong SQL * Plus.
  11. Trong SQL * Plus, hãy tạo một liên kết cơ sở dữ liệu cho phiên bản SQL Server đích. Ví dụ:
    CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO
    "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql';
    SELECT * from suppliers@mssqllink
    
Ghi chú
  • Nếu bạn gặp sự cố khi kết nối với SQL Server 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òng HS_FDS_TRACE_LEVEL = DEBUG tới initmssql.ora và sau đó khởi động / khởi động lại trình nghe Oracle®. Nếu log thư mục không tồn tại, tạo nó. Ví dụ:
    mkdir log
    chmod +w log
    

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi phút sang định dạng HH24:MI

  2. TO_DATE () Hàm trong Oracle

  3. Ràng buộc các tham số truy vấn theo tên với ODP.NET

  4. SQLcl để chuyển dữ liệu từ Oracle sang PostgreSQL hoặc YugabyteDB 🅾🐘🚀

  5. Làm thế nào để tìm ra khi một bảng Oracle được cập nhật lần cuối cùng