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

Podłączanie Oracle do SQL Server z systemu Windows

Połącz aplikacje Oracle w systemie Windows z SQL Server.

Możesz użyć Oracle Database Gateway for ODBC (DG4ODBC) i SQL Server ODBC Driver, aby połączyć Oracle z SQL Server.

DG4ODBC jest częścią Oracle 11g i później, bez dodatkowych kosztów i jest kompatybilny z Oracle 10g i później.

DG4ODBC współdziała z usługami heterogenicznymi (składnik bazy danych Oracle), aby umożliwić aplikacjom klienckim Oracle dostęp do baz danych innych niż Oracle. Dane inne niż Oracle są przejrzyście zintegrowane, więc aplikacje klienckie Oracle nie są świadome, że dane są przechowywane w zdalnej bazie danych innego dostawcy

Poniższe instrukcje pokazują, jak połączyć Oracle w systemie Windows z SQL Server. Więcej informacji na temat DG4ODBC można znaleźć w naszych samouczkach dotyczących DG4ODBC dla Windows.

  1. Pobierz sterownik ODBC programu SQL Server dla swojej platformy Windows. (Wymagana rejestracja.)
  2. Zainstaluj i uzyskaj licencję na sterownik ODBC programu SQL Server na komputerze z systemem Windows, na którym zainstalowano DG4ODBC.

    Instrukcje dotyczące instalacji znajdują się w dokumentacji sterownika ODBC SQL Server.

  3. W Administratorze źródeł danych ODBC na komputerze DG4ODBC skonfiguruj systemowe źródło danych DSN, które łączy się z wystąpieniem programu SQL Server.

    Aby uzyskać instrukcje dotyczące konfigurowania źródeł danych, zapoznaj się z dokumentacją sterownika ODBC SQL Server.

    64-bitowy system Windows Musisz sprawdzić, czy twoja wersja DG4ODBC jest 32-bitowa czy 64-bitowa. Aby to zrobić, uruchom Menedżera zadań Windows i wybierz kartę Procesy. W oknie wiersza polecenia wpisz dg4odbc --help. W Menedżerze zadań Windows poszukaj procesu DG4ODBC. Jeśli nazwa obrazu to „dg4odbc.exe *32”, DG4ODBC jest 32-bitowy. Jeśli nazwa obrazu to „dg4odbc.exe”, DG4ODBC jest 64-bitowy. Naciśnij CTRL+C w oknie wiersza poleceń, gdy używałeś Menedżera zadań Windows, aby poznać architekturę DG4ODBC.

    Jeśli masz 64-bitową wersję DG4ODBC, musisz uruchomić 64-bitową wersję Administratora ODBC. Aby to zrobić, otwórz Narzędzia administracyjne w Panelu sterowania, a następnie otwórz Źródła danych (ODBC). (W systemie Windows Server 2003 i wcześniejszych aplet Panelu sterowania, który uruchamia Administratora ODBC, jest oznaczony jako Źródła danych. W systemie Windows 8 i nowszych aplet Panelu sterowania jest oznaczony jako Źródła danych ODBC (64-bitowy).)

    Jeśli masz 32-bitową wersję DG4ODBC, musisz uruchomić 32-bitową wersję Administratora ODBC. Aby to zrobić, w oknie dialogowym Uruchom systemu Windows wpisz:

    %windir%\syswow64\odbcad32.exe
  4. Utwórz plik inicjujący DG4ODBC. Aby to zrobić, przejdź do katalogu %ORACLE_HOME%\hs\admin. Utwórz kopię pliku initdg4odbc.ora. Nazwij nowy plik initmssql.ora .

    Uwaga W tych instrukcjach zastąp %ORACLE_HOME% lokalizacją katalogu Oracle HOME. Na przykład C:\oraclex\app\oracle\produkt\11.2.0\serwer.

  5. Upewnij się, że te parametry i wartości są obecne w Twoim pliku startowym:
    HS_FDS_CONNECT_INFO = my_sqlserver_odbc_dsn;
  6. Dodaj wpis do %ORACLE_HOME%\network\admin\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)
       )
     )
  7. Dodaj wpis DG4ODBC do %ORACLE_HOME%\network\admin\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.

  8. Uruchom (lub uruchom ponownie) Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
  9. Połącz się z bazą danych Oracle w SQL*Plus.
  10. 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_sqlserver_password" USING 'mssql';

    Zastąp my_sqlserver_user i my_sqlserver_password z prawidłową nazwą użytkownika i hasłem dla docelowej instancji SQL Server.

Notatki

  • Jeśli masz problemy z połączeniem się z SQL Server z Oracle, włącz śledzenie DG4ODBC i sprawdź pliki śledzenia zapisane w katalogu %ORACLE_HOME%\hs\trace. Aby włączyć śledzenie DG4ODBC, dodaj wiersz HS_FDS_TRACE_LEVEL =DEBUG do pliku initmssql.ora, a następnie uruchom/zrestartuj program nasłuchujący Oracle. Jeśli katalog śledzenia nie istnieje, utwórz go.
  • Jeśli włączysz śledzenie Menedżera sterowników ODBC, ale nie otrzymasz pliku śledzenia lub nie uzyskasz pustego pliku śledzenia, zmień lokalizację pliku śledzenia na katalog Windows TEMP. Na przykład C:\Windows\Temp\SQL.log.

Problemy z dostępem do Twoich danych

Jeśli napotkasz jakiekolwiek problemy podczas próby odczytu / zapisu danych do SQL Server z Oracle, wykonaj następujące czynności:

  • Upewnij się, że problem nie dotyczy używanej aplikacji, na przykład SQL Developer, Toad i tak dalej. Przetestuj problem za pomocą SQLPlus na komputerze Oracle. Jeśli problem występuje tylko na przykład w Toad, a nie w SQLPlus, zgłoś go osobom, które obsługują Toad.
  • Spróbuj ograniczyć problem do kolumny/tabeli problemu. Załóżmy na przykład, że uruchamiasz select * from table@link i masz tylko 1 kolumnę, która powoduje problem, spróbuj uruchomić select column from table@link i zobacz, czy to daje ten sam błąd. Pomoże nam to zdiagnozować problem.
  • Jeśli potrzebujesz skontaktować się z pomocą techniczną Easysoft z problemem DG4ODBC:
    1. Włącz śledzenie Dg4ODBC w pliku $ORACLE_HOME/hs/admin/initmssql.ora:
      HS_FDS_TRACE_LEVEL = Debug
    2. Zatrzymaj i uruchom program nasłuchujący Oracle.
    3. Odtwórz problem w programie SQL Plus. Jeśli nie otrzymasz pliku śledzenia Oracle w folderze $ORACLE_HOME/hs/log, Twój listener nie został zrestartowany lub Oracle nie został poprawnie skonfigurowany.
    4. Wyślij zespół wsparcia Easysoft ([email protected]):
      • Wyjście pokazujące logowanie do SQLPlus, wykonywane zapytanie i wyświetlany błąd.
      • Kopię pliku dziennika Oracle initmssql. Proszę spakować / skompresować ten plik, jeśli jest większy niż 1 MB.
      • Kopia twojego pliku initmssql.ora.
      • Kopia plików kończących się na _install.info z /usr/local/easysoft.
      • Gdy mamy już wszystkie elementy, zespół wsparcia Easysoft powinien być w stanie szybko ustalić, czy jest to problem z konfiguracją Oracle / błąd w Oracle, konfiguracja / błąd Easysoft, czy po prostu potrzebujemy więcej informacji.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskiwanie dostępu do tabeli innego użytkownika w ramach procedury składowanej Oracle

  2. problem ze znalezieniem listy plików w katalogu

  3. Różnice Oracle między NVL a Coalesce

  4. SSIS nie może zapisać pakietów i ponownie uruchamia program Visual Studio

  5. Należy zadeklarować identyfikator PLS-00201 'PACKAGENAME.PROCEDURENAME'