Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Łączenie Oracle z SQL Server przez bezpieczne połączenie

Sterownik ODBC SQL Server umożliwia połączenie Oracle na platformach Linux i UNIX z SQL Server lub SQL Azure. Jeśli zdecydujesz się na szyfrowanie połączenia sieciowego z aplikacji klienckich do SQL Server lub używasz SQL Azure, musisz użyć wersji TLS sterownika, która jest zawarta w dystrybucji sterowników ODBC SQL Server.

Jeśli nie używasz wersji TLS sterownika ODBC SQL Server do łączenia się z instancją SQL Server, która została skonfigurowana do żądania zaszyfrowanego połączenia, otrzymasz następujący błąd:

Client unable to establish connection: SSL requested but not supported

Jeśli używasz już sterownika ODBC Easysoft SQL Server z Oracle:

  1. W źródle danych SQL Server wskazanym przez HS_FDS_CONNECT_INFO w swoim initSID.ora , wprowadź następujące zmiany:
    1. Zmień Driver od:
      Driver = Easysoft ODBC-SQL Server

      do:

      Driver = Easysoft ODBC-SQL Server SSL
    2. Dodaj te wiersze:
      Encrypt = Yes
      TrustServerCertificate = Yes
  2. Jeśli wskażesz bibliotekę sterowników zamiast biblioteki Menedżera sterowników w initSID.ora , zmień HS_FDS_SHAREABLE_NAME wartość do:
    install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
  3. Uruchom ponownie odbiornik Oracle.

Jeśli jesteś nowym użytkownikiem:

  1. Zainstaluj i uzyskaj licencję na sterownik ODBC programu SQL Server na komputerze, na którym zainstalowano Oracle.

    Instrukcje dotyczące instalacji można znaleźć w dokumentacji sterownika ODBC.

    Uwaga Musisz mieć zainstalowany na swoim komputerze menedżer sterowników unixODBC. Dystrybucja Easysoft zawiera wersję menedżera sterowników unixODBC, z którą przetestowano sterownik ODBC Easysoft SQL Server. Program instalacyjny sterownika Easysoft daje możliwość zainstalowania unixODBC.

  2. Utwórz źródło danych ODBC w /etc/odbc.ini, które łączy się z bazą danych SQL Server, do której chcesz uzyskać dostęp z Oracle®. Na przykład:
    [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. Użyj isql, aby przetestować nowe źródło danych. Na przykład:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    W wierszu polecenia wpisz „pomoc”, aby wyświetlić listę tabel. Aby wyjść, naciśnij return w pustym wierszu zachęty.

    Jeśli nie możesz się połączyć, zapoznaj się z tym artykułem, aby uzyskać pomoc.

  4. Utwórz plik inicjujący DG4ODBC. Aby to zrobić, przejdź do hs/admin podkatalog. Na przykład:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
    

    Utwórz kopię pliku initdg4odbc.ora . Nazwij nowy plik initmssql.ora .

  5. Upewnij się, że te parametry i wartości są obecne w Twoim pliku początkowym:
    HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
    

    Zastąp my_mssql_odbc_dsn z nazwą źródła danych sterownika ODBC programu SQL Server, które łączy się z docelową instancją programu SQL Server. Na przykład

    HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
    
  6. Skomentuj wiersz, który umożliwia śledzenie DG4ODBC. Na przykład:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  7. Dodaj wpis do listener.ora który tworzy SID_NAME dla DG4ODBC. Na przykład:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=mssql)
         (ORACLE_HOME=$ORACLE_HOME)
         (PROGRAM=dg4odbc)
       )
     )
    
  8. Dodaj wpis DG4ODBC do tnsnames.ora który określa SID_NAME utworzony w poprzednim kroku. Na przykład:
    MSSQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = mssql)
        )
        (HS = OK)
      )
    

    Zastąp oracle_host z nazwą hosta Twojej maszyny Oracle®.

  9. Uruchom (lub uruchom ponownie) nasłuchiwanie Oracle®. Na przykład:
    lsnrctl stop
    lsnrctl start
    
  10. Połącz się ze swoją bazą danych Oracle® w SQL*Plus.
  11. W SQL*Plus utwórz łącze do bazy danych dla docelowej instancji SQL Server. Na przykład:
    CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO
    "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql';
    SELECT * from suppliers@mssqllink
    
Notatki
  • Jeśli masz problemy z połączeniem się z SQL Server z Oracle®, włącz śledzenie DG4ODBC i sprawdź pliki śledzenia zapisane w hs/log informator. Aby włączyć śledzenie DG4ODBC, dodaj wiersz HS_FDS_TRACE_LEVEL = DEBUG do initmssql.ora a następnie uruchom/zrestartuj program nasłuchujący Oracle®. Jeśli log katalog nie istnieje, utwórz go. Na przykład:
    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. Format daty SQL

  2. Używanie klauzuli IN z ciągiem oddzielonym przecinkami z wyniku funkcji replace() w Oracle SQL

  3. nieprawidłowy wzorzec nazwy podczas próby przekazania niestandardowego mapowania obiektów typu oracle

  4. Przyrostowe zbieranie statystyk w 11g

  5. ORACLE i TRIGGERS (wstawione, zaktualizowane, usunięte)