Oracle
 sql >> база данни >  >> RDS >> Oracle

Свързване на Oracle към SQL Server през защитена връзка

ODBC драйверът на SQL Server ви позволява да свържете Oracle на Linux и UNIX платформи към SQL Server или SQL Azure. Ако решите да шифровате мрежовата връзка от вашите клиентски приложения към SQL Server или използвате SQL Azure, трябва да използвате TLS версията на драйвера, която е включена в дистрибуцията на драйвери на SQL Server ODBC.

Ако не използвате TLS версията на ODBC драйвера на SQL Server, за да се свържете с екземпляр на SQL Server, който е конфигуриран да изисква криптирана връзка, ще получите тази грешка:

Client unable to establish connection: SSL requested but not supported

Ако вече използвате ODBC драйвера на Easysoft SQL Server с Oracle:

  1. В източника на данни на SQL Server, посочен от HS_FDS_CONNECT_INFO във вашия initSID.ora , направете следните промени:
    1. Променете Driver от:
      Driver = Easysoft ODBC-SQL Server

      до:

      Driver = Easysoft ODBC-SQL Server SSL
    2. Добавете тези редове:
      Encrypt = Yes
      TrustServerCertificate = Yes
  2. Ако посочите библиотеката на драйвери, а не библиотеката на Driver Manager в initSID.ora , променете HS_FDS_SHAREABLE_NAME стойност до:
    install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
  3. Рестартирайте слушателя на Oracle.

Ако сте нов потребител:

  1. Инсталирайте и лицензирайте ODBC драйвера на SQL Server на машината, където е инсталиран Oracle.

    За инструкции за инсталиране вижте документацията на ODBC драйвера.

    Забележка Имате нужда от unixODBC Driver Manager инсталиран на вашата машина. Дистрибуцията на Easysoft включва версия на unixODBC Driver Manager, с която е тестван ODBC драйверът на Easysoft SQL Server. Програмата за настройка на драйвера Easysoft ви дава възможност да инсталирате unixODBC.

  2. Създайте ODBC източник на данни в /etc/odbc.ini, който се свързва с базата данни на SQL Server, до която искате да получите достъп от Oracle®. Например:
    [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. Използвайте isql, за да тествате новия източник на данни. Например:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    При подкана въведете „помощ“, за да се покаже списък с таблици. За да излезете, натиснете връщане в празен ред с подкана.

    Ако не можете да се свържете, вижте тази статия за помощ.

  4. Създайте файл за инициализиране на DG4ODBC. За да направите това, променете на hs/admin поддиректория. Например:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
    

    Създайте копие на файла initdg4odbc.ora . Наименувайте новия файл initmssql.ora .

  5. Уверете се, че тези параметри и стойности присъстват във вашия начален файл:
    HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
    

    Заменете my_mssql_odbc_dsn с името на източник на данни за драйвер на SQL Server ODBC, който се свързва с целевия екземпляр на SQL Server. Например

    HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
    
  6. Коментирайте реда, който позволява проследяване на DG4ODBC. Например:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  7. Добавете запис към listener.ora което създава SID_NAME за DG4ODBC. Например:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=mssql)
         (ORACLE_HOME=$ORACLE_HOME)
         (PROGRAM=dg4odbc)
       )
     )
    
  8. Добавете запис в DG4ODBC към tnsnames.ora който посочва SID_NAME, създаден в предишната стъпка. Например:
    MSSQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = mssql)
        )
        (HS = OK)
      )
    

    Заменете oracle_host с името на хоста на вашата Oracle® машина.

  9. Стартирайте (или рестартирайте) Oracle® Listener. Например:
    lsnrctl stop
    lsnrctl start
    
  10. Свържете се с вашата база данни Oracle® в SQL*Plus.
  11. В SQL*Plus създайте връзка към базата данни за целевия екземпляр на SQL Server. Например:
    CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO
    "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql';
    SELECT * from suppliers@mssqllink
    
Бележки
  • Ако имате проблеми при свързването със SQL Server от Oracle®, активирайте проследяването на DG4ODBC и проверете проследяващите файлове, записани в hs/log директория. За да активирате проследяването на DG4ODBC, добавете реда HS_FDS_TRACE_LEVEL = DEBUG към initmssql.ora и след това стартирайте/рестартирайте слушателя на Oracle®. Ако log директория не съществува, създайте я. Например:
    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. Инструменти за генериране на диаграма на база данни/ER диаграма от съществуваща база данни на Oracle?

  2. Как да решим ORA-29280:невалиден път към директорията

  3. Как да създадете DMZ за EBS R12

  4. Свързване на SQL Server към Oracle

  5. Как да получите добре форматирани резултати от процедура на Oracle, която връща референтен курсор?