sql >> Databáze >  >> RDS >> Oracle

Připojení Oracle k SQL Serveru přes zabezpečené připojení

Ovladač SQL Server ODBC umožňuje připojit Oracle na platformách Linux a UNIX k SQL Server nebo SQL Azure. Pokud se rozhodnete šifrovat síťové připojení z vašich klientských aplikací na SQL Server nebo používáte SQL Azure, musíte použít verzi TLS ovladače, která je součástí distribuce ovladačů SQL Server ODBC.

Pokud nepoužíváte verzi TLS ovladače SQL Server ODBC pro připojení k instanci SQL Server, která byla nakonfigurována tak, aby vyžadovala šifrované připojení, zobrazí se tato chyba:

Client unable to establish connection: SSL requested but not supported

Pokud již používáte ovladač Easysoft SQL Server ODBC s Oracle:

  1. Ve zdroji dat SQL Server, na který odkazuje HS_FDS_CONNECT_INFO ve vašem initSID.ora , proveďte následující změny:
    1. Změňte Driver od:
      Driver = Easysoft ODBC-SQL Server

      komu:

      Driver = Easysoft ODBC-SQL Server SSL
    2. Přidejte tyto řádky:
      Encrypt = Yes
      TrustServerCertificate = Yes
  2. Pokud v initSID.ora , změňte HS_FDS_SHAREABLE_NAME hodnotu do:
    install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
  3. Restartujte posluchač Oracle.

Pokud jste nový uživatel:

  1. Nainstalujte a licencujte ovladač SQL Server ODBC na počítači, kde je nainstalován Oracle.

    Pokyny k instalaci naleznete v dokumentaci ovladače ODBC.

    Poznámka Na vašem počítači potřebujete nainstalovaný unixODBC Driver Manager. Distribuce Easysoft obsahuje verzi unixODBC Driver Manager, se kterou byl testován ovladač Easysoft SQL Server ODBC. Instalační program ovladače Easysoft vám dává možnost nainstalovat unixODBC.

  2. Vytvořte zdroj dat ODBC v /etc/odbc.ini, který se připojuje k databázi SQL Server, ke které chcete přistupovat z Oracle®. Například:
    [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. K testování nového zdroje dat použijte isql. Například:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Na výzvu zadejte "help" pro zobrazení seznamu tabulek. Pro ukončení stiskněte return v prázdném řádku s výzvou.

    Pokud se nemůžete připojit, vyhledejte pomoc v tomto článku.

  4. Vytvořte inicializační soubor DG4ODBC. Chcete-li to provést, přejděte na hs/admin podadresář. Například:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
    

    Vytvořte kopii souboru initdg4odbc.ora . Nový soubor pojmenujte initmssql.ora .

  5. Ujistěte se, že ve vašem init souboru jsou tyto parametry a hodnoty:
    HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
    

    Nahraďte my_mssql_odbc_dsn s názvem zdroje dat ovladače SQL Server ODBC, který se připojuje k cílové instanci SQL Server. Například

    HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
    
  6. Okomentujte řádek, který umožňuje trasování DG4ODBC. Například:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  7. Přidejte záznam na listener.ora který vytvoří SID_NAME pro DG4ODBC. Například:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=mssql)
         (ORACLE_HOME=$ORACLE_HOME)
         (PROGRAM=dg4odbc)
       )
     )
    
  8. Přidejte záznam DG4ODBC na tnsnames.ora který určuje SID_NAME vytvořený v předchozím kroku. Například:
    MSSQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = mssql)
        )
        (HS = OK)
      )
    

    Nahraďte oracle_host s názvem hostitele vašeho počítače Oracle®.

  9. Spusťte (nebo restartujte) Oracle® Listener. Například:
    lsnrctl stop
    lsnrctl start
    
  10. Připojte se ke své databázi Oracle® v SQL*Plus.
  11. V SQL*Plus vytvořte odkaz na databázi pro cílovou instanci SQL Server. Například:
    CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO
    "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql';
    SELECT * from suppliers@mssqllink
    
Poznámky
  • Pokud máte problémy s připojením k serveru SQL z Oracle®, povolte trasování DG4ODBC a zkontrolujte trasovací soubory zapsané do hs/log adresář. Chcete-li povolit trasování DG4ODBC, přidejte řádek HS_FDS_TRACE_LEVEL = DEBUG na initmssql.ora a poté spusťte/restartujte Oracle® listener. Pokud log adresář neexistuje, vytvořte jej. Například:
    mkdir log
    chmod +w log
    

  1. Proč může být v klauzuli DEFAULT pouze jeden sloupec TIMESTAMP s CURRENT_TIMESTAMP?

  2. 5 způsobů, jak zobrazit seznam dočasných tabulek pomocí T-SQL

  3. Optimalizace dotazů v PostgreSQL. Základy VYSVĚTLENÍ – 3. část

  4. lomítko před každým problémem s citací