2009-02-20 20 views

Odpowiedz

6
  • Oracle Heterogeneous Connectivity/Database Gateways w połączeniu z zmaterializował view (s), PL/SQL lub Java
  • SSIS lub DTS: oba mogą być planowane, ale wymagają więcej niż tylko do odczytu dostępu do SQL Server
  • Java (prawdopodobnie w Oracle, ale opcjonalnie w systemie operacyjnym) przy użyciu ODBC lub SQLJ w celu uzyskania dostępu do SQL Server i, prawdopodobnie, Oracle
  • SQL Server zaplanowany do eksportu do CSV, Oracle zaplanowany do importu z CSV
  • Dowolny z innych ETL narzędzia (np. Informatica, Cognos)
  • Każdy z niezliczonych językach, które mogą korzystać zarówno z bazy danych (ale wymagałoby utrzymywania trzeci środowisko do uruchamiania aplikacji wewnątrz)

Harmonogram:

  • automatyczna nie/reuqired z zmaterializowane perspektywy
  • Oracle DBMS_JOB/DBMS_SCHEDULER
  • OS specyficzne (cron, Okna Zaplanowane zadania, itp)
  • W przypadku eksportu SSIS, DTS lub CSV, zaplanowanego w SQL Server
2

Możesz mieć interfejs SQL Server z Oracle bezpośrednio przez SSIS (lub DTS przez 2k). Zapewni to funkcjonalność ETL i może być regularnie planowana.

9

Korzystanie z usług SQL Server Integration Services (SSIS) jest prawdopodobnie najlepszym rozwiązaniem. Jeśli nie znasz SSIS, najlepszym sposobem na wypróbowanie czegoś jest skorzystanie z Kreatora eksportu SQL Server i utworzenie dla niego pakietu SSIS. Na przykład, jeśli przejdziesz do SQL Server Management Studio i klikniesz prawym przyciskiem myszy na twoją bazę danych, wybierz Zadania-> Eksportuj dane. Następnie kliknij przycisk Dalej, aż dojdziesz do kroku "Wybierz miejsce docelowe". Wybierz "Dostawca Microsoft OLE DB dla Oracle" i kliknij Właściwości, aby zdefiniować połączenie z bazą danych. Po kliknięciu kreatora, na stronie Zapisz i wykonaj, zaznacz pole wyboru "Zapisz pakiet SSIS", na następnym ekranie określ, gdzie zapisać pakiet SSIS. Po zakończeniu pracy Kreatora eksportu Twoje dane zostaną wyeksportowane, a Ty będziesz mieć pakiet SSIS, którego możesz użyć, jak jest, lub wejść i dostosować go, by robić bardziej szczegółowe rzeczy. Po utworzeniu pakietu SSIS można zaplanować go, tworząc zadanie agenta serwera SQL.

1

Udało mi się stworzyć serwer połączony (prawdopodobnie z Enterprise Manager) z Oracle po stronie SQL Server. Następnie mógłbym użyć normalnych procedur przechowywanych po obu stronach, aby wykonać mniejszy ruch danych i aktualizacje w obu kierunkach. Takie podejście może ominąć potrzebę spróbowania i zsunięcia czegoś poza bazy danych.

Spróbuj jednak użyć najnowszego możliwego klienta Oracle po stronie SQL Server. Przypominam, że niektóre usterki w kliencie 10.2.0.2 i uzyskanie klienta 10.2.0.4 wymagały "oficjalnego" numeru rejestracyjnego lub zakupu Oracle lub czegoś podobnego.

Dla dużych ruchów danych (a może nawet ruchów/aktualizacji, które chcesz wykonywać codziennie lub rzadziej), zdecydowanie użyj jednego z narzędzi ETL. Mieliśmy Informatica dla naszych procesów ETL, ale jeśli SSIS może wyciągnąć to, czego potrzebujesz, to też jest w porządku.

+0

Masz na myśli SQL Server Enterprise Enterprise, a nie Oracle, prawda? – Alkini

+0

Tak, to było po stronie SQL Server. Nie mam przed sobą konkretów, ale trochę googlowałem, aby dokładnie określić proces. – Tom

2

Utwórz łącze do bazy danych z Oracle do Sql Server (heterogeniczna łączność). Możesz użyć tego łącza, aby pobrać dane z Sql Server za pomocą prostego polecenia select. Jeśli chcesz zaplanować, możesz użyć zmaterializowanego widoku lub dbms_scheduler.

Alternatywą jest umieszczenie danych w pliku csv, można użyć zewnętrznej tabeli lub programu sqlloader do załadowania tych danych do bazy danych Oracle.

+0

Dzięki; Właściwie nie słyszałem wcześniej terminu "heterogeniczna łączność". Wydaje się (przynajmniej 10g), że obejmuje ona zarówno Bramy Przejrzyste, jak i Generyczne Agenty Łączności (ODBC, OLE DB). – Alkini

+0

Podczas czytania oficjalnego przewodnika administratora i widząc inną wzmiankę o używaniu zmaterializowanych widoków, zapadło w tym, jak genialne może być to rozwiązanie (heterogeniczna łączność + zmaterializowane widoki). +1 – Alkini

1

Oto co robię: łączenia się z SQL Server przez Oracle SQL Developer przy użyciu tego linku: https://kentgraziano.com/2013/01/14/tech-tip-connect-to-sql-server-using-oracle-sql-developer/

Po dodaniu SQL słoik, widać SQL kartę Serwer w oknie gra:

enter image description here

Następnie połącz z instancją SQL.

Następnie otwórz instancję SQL i wybierz bazę danych lub tabelę, którą chcesz skopiować. Kliknij prawym przyciskiem myszy dowolną bazę danych/tabelę, a następnie kliknij "kopiuj do oracle" tam i wybierz właściwego użytkownika [baza danych] w "Destination Connection Name", gdzie chcesz skopiować swoje tabele.

Można również zmienić niektóre właściwości tam. Kliknij "OK" i gotowe.

Daj mi znać w przypadku jakichkolwiek problemów.

Powiązane problemy