sql >> Database teknologi >  >> RDS >> Oracle

Tilslutning af Oracle til SQL Server over en sikker forbindelse

SQL Server ODBC-driveren giver dig mulighed for at forbinde Oracle på Linux- og UNIX-platforme til SQL Server eller SQL Azure. Hvis du beslutter dig for at kryptere netværksforbindelsen fra dine klientapplikationer til SQL Server, eller du bruger SQL Azure, skal du bruge TLS-versionen af ​​driveren, som er inkluderet i SQL Server ODBC-driverdistributionen.

Hvis du ikke bruger TLS-versionen af ​​SQL Server ODBC-driveren til at oprette forbindelse til en SQL Server-instans, der er konfigureret til at anmode om en krypteret forbindelse, får du denne fejlmeddelelse:

Client unable to establish connection: SSL requested but not supported

Hvis du allerede bruger Easysoft SQL Server ODBC-driveren med Oracle:

  1. I SQL Server-datakilden peget på af HS_FDS_CONNECT_INFO i dit initSID.ora , foretag følgende ændringer:
    1. Rediger Driver fra:
      Driver = Easysoft ODBC-SQL Server

      til:

      Driver = Easysoft ODBC-SQL Server SSL
    2. Tilføj disse linjer:
      Encrypt = Yes
      TrustServerCertificate = Yes
  2. Hvis du peger på driverbiblioteket i stedet for Driver Manager-biblioteket i initSID.ora , ændre HS_FDS_SHAREABLE_NAME værdi til:
    install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
  3. Genstart Oracle-lytteren.

Hvis du er ny bruger:

  1. Installer og licenser SQL Server ODBC-driveren på den maskine, hvor Oracle er installeret.

    Se ODBC-driverdokumentationen for installationsinstruktioner.

    Bemærk Du skal have unixODBC Driver Manager installeret på din maskine. Easysoft-distributionen inkluderer en version af unixODBC Driver Manager, som Easysoft SQL Server ODBC-driveren er blevet testet med. Easysoft-driveropsætningsprogrammet giver dig mulighed for at installere unixODBC.

  2. Opret en ODBC-datakilde i /etc/odbc.ini, der forbinder til den SQL Server-database, du vil have adgang til fra Oracle®. For eksempel:
    [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. Brug isql til at teste den nye datakilde. For eksempel:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Ved prompten skal du skrive "hjælp" for at få vist en liste over tabeller. For at afslutte skal du trykke på retur i en tom promptlinje.

    Hvis du ikke kan oprette forbindelse, skal du se denne artikel for at få hjælp.

  4. Opret en DG4ODBC init-fil. For at gøre dette skal du skifte til hs/admin undermappe. For eksempel:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
    

    Opret en kopi af filen initdg4odbc.ora . Navngiv den nye fil initmssql.ora .

  5. Sørg for, at disse parametre og værdier er til stede i din init-fil:
    HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
    

    Erstat my_mssql_odbc_dsn med navnet på en SQL Server ODBC-driverdatakilde, der opretter forbindelse til SQL Server-målforekomsten. For eksempel

    HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
    
  6. Kommenter linjen, der aktiverer DG4ODBC-sporing. For eksempel:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  7. Tilføj en post til listener.ora der opretter en SID_NAME for DG4ODBC. For eksempel:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=mssql)
         (ORACLE_HOME=$ORACLE_HOME)
         (PROGRAM=dg4odbc)
       )
     )
    
  8. Tilføj en DG4ODBC-post til tnsnames.ora der specificerer SID_NAME oprettet i det forrige trin. For eksempel:
    MSSQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = mssql)
        )
        (HS = OK)
      )
    

    Erstat oracle_host med værtsnavnet på din Oracle®-maskine.

  9. Start (eller genstart) Oracle® Listener. For eksempel:
    lsnrctl stop
    lsnrctl start
    
  10. Opret forbindelse til din Oracle®-database i SQL*Plus.
  11. I SQL*Plus skal du oprette et databaselink til SQL Server-målforekomsten. For eksempel:
    CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO
    "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql';
    SELECT * from suppliers@mssqllink
    
Bemærkninger
  • Hvis du har problemer med at oprette forbindelse til SQL Server fra Oracle®, skal du aktivere DG4ODBC-sporing og kontrollere sporingsfilerne skrevet til hs/log vejviser. For at aktivere DG4ODBC-sporing skal du tilføje linjen HS_FDS_TRACE_LEVEL = DEBUG til initmssql.ora og start/genstart derefter Oracle®-lytteren. Hvis log bibliotek eksisterer ikke, opret det. For eksempel:
    mkdir log
    chmod +w log
    

  1. Hvad er den maksimale længde af et tabelnavn i Oracle?

  2. Oracle SQL escape-tegn (for et '&')

  3. Sådan indstilles tegnsættet og samlingen af ​​en database i MySQL

  4. Sådan får du det korte månedsnavn fra en dato i MariaDB