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

Tilslutning af Oracle til SQL Server fra Windows

Forbind Oracle-applikationer på Windows til SQL Server.

Du kan bruge Oracles Database Gateway til ODBC (DG4ODBC) og SQL Server ODBC-driveren til at forbinde Oracle til SQL Server.

DG4ODBC kommer som en del af Oracle 11g og senere uden ekstra omkostninger og er kompatibel med Oracle 10g og senere.

DG4ODBC interagerer med Heterogeneous Services (en Oracle-databasekomponent) for at tillade Oracle-klientapplikationer at få adgang til ikke-Oracle-databaser. Ikke-Oracle-dataene er transparent integreret, og derfor er Oracle-klientapplikationer ikke klar over, at dataene er lagret i en fjerndatabase fra en anden leverandør

Følgende instruktioner viser dig, hvordan du forbinder Oracle på Windows til SQL Server. For yderligere information om DG4ODBC henvises til vores DG4ODBC til Windows tutorials.

  1. Download SQL Server ODBC-driveren til din Windows-platform. (Registrering påkrævet.)
  2. Installer og licenser SQL Server ODBC-driveren på den Windows-maskine, hvor DG4ODBC er installeret.

    For installationsinstruktioner, se SQL Server ODBC-driverdokumentationen.

  3. I ODBC Data Source Administrator på din DG4ODBC-maskine skal du konfigurere et system-DSN, der opretter forbindelse til din SQL Server-instans.

    For instruktioner om konfiguration af datakilder, se SQL Server ODBC-driverdokumentationen.

    64-bit Windows Du skal tjekke, om din version af DG4ODBC er 32-bit eller 64-bit. For at gøre dette skal du starte Windows Task Manager og vælge fanen Processer. Skriv dg4odbc --help i et kommandopromptvindue. I Windows Task Manager skal du se efter DG4ODBC-processen. Hvis billednavnet er "dg4odbc.exe *32" er DG4ODBC 32-bit. Hvis billednavnet er "dg4odbc.exe" er DG4ODBC 64-bit. Tryk på CTRL+C i kommandopromptvinduet, når du har brugt Windows Task Manager til at finde ud af DG4ODBC's arkitektur.

    Hvis du har 64-bit versionen af ​​DG4ODBC, skal du køre 64-bit versionen af ​​ODBC Administrator. For at gøre dette skal du åbne Administrative værktøjer i Kontrolpanel og derefter åbne Datakilder (ODBC). (På Windows Server 2003 og tidligere er kontrolpanel-appletten, der starter ODBC Administrator, mærket Datakilder. På Windows 8 og nyere er kontrolpanel-appletten mærket ODBC-datakilder (64-bit).)

    Hvis du har 32-bit versionen af ​​DG4ODBC, skal du køre 32-bit versionen af ​​ODBC Administrator. For at gøre dette skal du i Windows Kør-dialogboksen skrive:

    %windir%\syswow64\odbcad32.exe
  4. Opret en DG4ODBC init-fil. For at gøre dette skal du skifte til mappen %ORACLE_HOME%\hs\admin. Opret en kopi af filen initdg4odbc.ora. Navngiv den nye fil initmssql.ora .

    Bemærk I denne vejledning skal du erstatte %ORACLE_HOME% med placeringen af ​​dit Oracle HOME-bibliotek. For eksempel C:\oracexe\app\oracle\product\11.2.0\server.

  5. Sørg for, at disse parametre og værdier er til stede i din init-fil:
    HS_FDS_CONNECT_INFO = my_sqlserver_odbc_dsn;
  6. Tilføj en post til %ORACLE_HOME%\network\admin\listener.ora, der opretter et SID_NAME for DG4ODBC. For eksempel:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=mssql)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
  7. Tilføj en DG4ODBC-post til %ORACLE_HOME%\network\admin\tnsnames.ora, der angiver det SID_NAME, der blev 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.

  8. Start (eller genstart) Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
  9. Opret forbindelse til din Oracle-database i SQL*Plus.
  10. 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_sqlserver_password" USING 'mssql';

    Erstat my_sqlserver_user og my_sqlserver_adgangskode med et gyldigt brugernavn og en adgangskode til SQL Server-målforekomsten.

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 mappen %ORACLE_HOME%\hs\trace. For at aktivere DG4ODBC-sporing skal du tilføje linjen HS_FDS_TRACE_LEVEL =DEBUG til initmssql.ora og derefter starte/genstarte Oracle-lytteren. Hvis sporingsbiblioteket ikke eksisterer, skal du oprette det.
  • Hvis du aktiverer ODBC Driver Manager-sporing, men ikke får en sporingsfil eller får en tom sporingsfil, skal du ændre sporingsfilens placering til Windows TEMP-mappen. For eksempel C:\Windows\Temp\SQL.log.

Problemer med at få adgang til dine data

Hvis du støder på problemer med at prøve at læse/skrive data til SQL Server fra Oracle, skal du gøre følgende:

  • Sørg for, at problemet ikke er med det program, du bruger, for eksempel SQL Developer, Toad og så videre. Test problemet ved hjælp af SQLPlus på Oracle-maskinen. Hvis problemet kun opstår for eksempel under Toad og ikke i SQLPlus, bedes du rapportere problemet til de personer, der understøtter Toad.
  • Prøv at begrænse problemet til problemkolonnen/problemtabellen. Lad os for eksempel sige, at du kører en select * from table@link og du kun har 1 kolonne, der forårsager problemet, prøv at køre select column from table@link og se om det giver samme fejl. Dette hjælper os med at diagnosticere problemet.
  • Hvis du har brug for at kontakte Easysoft Support med et DG4ODBC-problem:
    1. Slå Dg4ODBC-sporing til i din $ORACLE_HOME/hs/admin/initmssql.ora-fil:
      HS_FDS_TRACE_LEVEL = Debug
    2. Stop og start din Oracle-lytter.
    3. Reproducer problemet i SQL Plus. Hvis du ikke får en Oracle-sporingsfil i din $ORACLE_HOME/hs/log-mappe, er din lytter ikke blevet genstartet, eller Oracle er ikke konfigureret korrekt.
    4. Send Easysoft-supportteamet ([email protected]):
      • Output, der viser login til SQLPlus, forespørgslen, der udføres, og fejlen vises.
      • En kopi af din Oracle initmssql-logfil. Zip/komprimer denne fil, hvis den er mere end 1 MB.
      • En kopi af din initmssql.ora-fil.
      • En kopi af filerne, der ender på _install.info fra /usr/local/easysoft.
      • Når vi har alle varer, burde Easysoft-supportteamet hurtigt kunne finde ud af, om dette er et Oracle-konfigurationsproblem/-fejl i Oracle, Easysoft-konfiguration/-fejl, eller om vi blot har brug for mere information.

  1. Konverter 'datetime2' til 'smalldatetime' i SQL Server (T-SQL-eksempler)

  2. Sådan sammenkædes strenge i PostgreSQL

  3. Hvordan NU() virker i MariaDB

  4. Retter ORA-65096-fejl ved oprettelse af automatiserede test i Django ved hjælp af Oracle