Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przeniesienie danych miedzy Oracle a MySQL
bigu
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 7.06.2005

Ostrzeżenie: (0%)
-----


Witam!
Mam wielki problem!!! Jesli mozecie i wiecie to pomozcie, napiszcie choc cokolwiek co by mi pomoglo. A wiec ma za zadanie zrobic glupia rzecz ;-) Chce przenosic dane z bazy Oracle (tylko niektore, np. z jednej tabeli, choc jesli juz by nie bylo wysjscia to moze i wszystko) do MySQL. I zupelnie nie wiem jak mam to zrobic, bo z Oracla moja wiedza kuleje. Dane te maja byc przenoszone raz dziennie. Nie wiem czy zastosowac jakis skypt? Czy eksportowac w jakis psosb dane w oracle? Ja jestem blizszy stworzeniu sktyptu w php by wymienial dane miedzy dwoma bazami. Tylko w jaki sposob to zrobic, czy moge podajmy np.: polaczyc sie jednorazowo z baza danych Oracle i MySql i czytac potrzebne mi informacje z Oracle i wyslac je do MySQL? TYlko czy polaczenie moze odbywac sie w tym samym czasie? A moze lepiej przenosic dane najpierow do pliku temp.txt zakonczyc polaczenie z baza danych Oracle, a pozniej polaczyc sie z MySQL i zczytac dane? Pomozcie! Dzieki z gory za kazde propozycje? Jesli byscie mogli to rzuzcie przykladowy skypt, chociaz do polaczenia z Oracle i pobrania pewnych danych, bo zalezy mi na czasie!!! Dzieki!
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ja bym zrobił właśnie przenoszenie do pliku textowego (np. csv), a potem z niego czytal do mysql.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bigu
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 7.06.2005

Ostrzeżenie: (0%)
-----


A moglbys dac jeszcze ktos przykladowy skrypt przeenoszenie danych z oracla do pliku tekstowego, w mysql wiem juz co i jak, gorzej z oracle sad.gif
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




u mnie oracle też kuleje. Ale jak wiesz w mysql jak się robi, to w oracle podobnei tylko inne funkcje trzeba wywolać do pobrania danych.
przydatne będą:
OCIExecute
OCIParse
OCISetPrefetch
OCIFetchInto
OCIFreeStatement
poczytaj se o nich. Dzięki nim pobierzesz dane z oracla, jak pobierzesz to będziesz mógl zapisać do pliku
Aa nawet nie musisz zapisywac do pliku, możesz od razu do mysql wrzucać. No bo jak z oracla juz pobierzesz, to zaden problem wpisac to do mysql.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
SongoQ
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Ja mam lepsze rozwiazanie. Stosujesz JAVA i z poziomu ORACLE wkladasz dane do MySQLa.


Odnosnie ORACLE analogicznie jak w MySQLu, kiedys juz odpowiadalem na posta jak laczyc sie z ORACLEM i pobierac dane.

Dodane:

Do laczenia uzywasz ocilogon
Nastepnie $par = OCIParse($polaczenie, $p_szQuery);
$resource = OCIExecute($par, OCI_DEFAULT);

A do zwracania rekordow:
while (OCIFetchInto($par, $tablica,......)
mozesz wstawic dodatkowe parametry.

To powinno Ci wystarczyc, jesli nie bedziesz wiedzial to pisz.

Ten post edytował SongoQ 7.06.2005, 10:37:41


--------------------
Go to the top of the page
+Quote Post
Synaps
post
Post #6





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cześć, ja proponuje Ci zreazliowanie tego poprzez eksporty danych z Oracla do pliku, a nastepnie zaimportowanie do MySQL'a. W takim przypdaku może obejśc sie bez pisania skomplikowanych skryptów. Dla każdej z tych baz masz narzędzia która umożliwią Ci ta operacje. Dla Oracle'a jest poprostu sqlplus , po stronie MySql'a jest mysqlimport. Dzięki tym narzędziom cała robota sprowadzi się do napisania prostego skryptu w shell'u.


--------------------
MySQL said:

You have an error in your SQL syntax near ' `sygnatura` VARCHAR, NOT NULL
Go to the top of the page
+Quote Post
SongoQ
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


@Synaps przy zalozeniu ze zgodnosc pol jest taka sama.

Rozwiazan mozna wiele wymyslac, kazdy pomysl jest dobry byle spelnil oczekiwanie.


--------------------
Go to the top of the page
+Quote Post
Synaps
post
Post #8





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


@SongoQ
Niekoniecznie, to rozwiązanie ma tą zalete że z Oracla możesz wyciągnąć sobie te pola jakie chcesz. Piszesz odpowienie zapytanie do bazy Oracle'a ktore wyciaga z tabelki(kilku table) dane ktore potrzebujesz i konwertuje kolumny do formatu jaki potrzebuje w MySQL'u. Takie zapytanko później uruchamiasz w SQLPlus i wynik przekierowujesz do pliku. Jedyna niedogoność jaka może wystąpić to ogranicznie w mysqlimport ktore pozwala na importowanie danych do jednej tabeli (plik musi miec format nazwa_tabeli.rozszerzenie), dlatego też trzeba by napisać odpowiedni skrypt.

Ten post edytował Synaps 8.06.2005, 10:19:46


--------------------
MySQL said:

You have an error in your SQL syntax near ' `sygnatura` VARCHAR, NOT NULL
Go to the top of the page
+Quote Post
SongoQ
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Wszystko zalezy jak podejdziesz do problemu. Hm wsumie o tym nie pomyslalem zeby zrzucac juz gotowa wersje dla MySQLa.


--------------------
Go to the top of the page
+Quote Post
bigu
post
Post #10





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 7.06.2005

Ostrzeżenie: (0%)
-----


No ciekawe ciekawe chlopaki, dzieki. No jak wspomnialem wymiana ma byc raz dziennie! Potrzebuje tego do pracy inz. to ostatni jej fragment, mysle ze skorzystam jednak ze skyptu php, bo bedzie cikawiej, a moze w pracy przedstawie kilka technik smile.gif Dziex, jak cos jeszcze to prosze o komentarze tongue.gif


A ma jeszcze jedno pytania natury technicznej...chodiz o importowanie w mysql, dokladnie o to ze mi zaimprotuje cala baze tak? nie wiem, to sie pytam ;-) Bo ja chce to zrobic w taki sposob ze z oraclea pobieram tylko dane np z jednego dnia, od godziny 0:00, i doklejam je do odpowiadajacej tabeli w mysql (dolaczam!) I tak codziennie

Ten post edytował bigu 8.06.2005, 20:12:01
Go to the top of the page
+Quote Post
SongoQ
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Mozliwosci jest bardzo duzo, niektore sa bardzo szybkie do zaimplementowania a niektore nie.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 10:28