Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL, MSSQL] Automatyczna komunikacja między bazami
Insomiaa
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.11.2006

Ostrzeżenie: (10%)
X----


Witam,

Stworzyłem stronkę wyświetlającą dane z bazy MySql... Chciałbym aby pobierała ona interesujące mniee dane z bazy MSSQL (np raz dziennie).
Nie bardzo wiem jak to zrobić..
Widziałem, że są programy umożliwiające konwersje z jednej bazy do drugiej, ale czy jakiś robi to automatycznie nadpisując starą bazę?

Pozdrawiam,
I
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




mysql nie ma takiej możliwości. Wykorzystaj po prostu skrypt php
Go to the top of the page
+Quote Post
Insomiaa
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.11.2006

Ostrzeżenie: (10%)
X----


a mógł byś podać jakieś linki gdzie można o tym poczytać/znaleźć coś gotowego do przerobienia?
Go to the top of the page
+Quote Post
IceManSpy
post
Post #4





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Możesz to zrobić na zasadzie insert , delete , update i select jeśli chodzi o brazy, oraz ustawić CRONa. Wtedy piszesz sobie jakiś skrypt w PHP, a w CRONie ustawiasz, aby o jakiejś tam porze był ten skrypt wywoływany. Tylko uważaj, bo jeśli będzie za długo trwał to serwer go przerwie! Albo ustaw w opcja na dłuższe działanie skryptu.

Ten post edytował IceManSpy 8.09.2010, 13:55:44
Go to the top of the page
+Quote Post
Insomiaa
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.11.2006

Ostrzeżenie: (10%)
X----


jakiś tutorial/trochę kodu macie...?
bo ja nadal do końca nie wiem jak to przenosić...
Go to the top of the page
+Quote Post
prachwal
post
Post #6





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

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


najszybsza metoda jest do zrobienia ale pod windosem
robisz eksport danych za pomocą BCP.exe do pliku, przesyłasz taki plik FTP-em na maszynę z MySQL-em, a następnie ładujesz dane LOAD DATA - działa naprawdę szybko

skrypty PHP przy dużej ilości danych działają makabrycznie wolno
Go to the top of the page
+Quote Post
Insomiaa
post
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.11.2006

Ostrzeżenie: (10%)
X----


to jest raptem 200wierszy po 15 kolumn... dane mają się odświeżać codziennie o konkretnej godzinie...
zastanawiałem się, czy nie da się tego w jobs'ach mssql'a zrobić?
Go to the top of the page
+Quote Post
vokiel
post
Post #8





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


O ile dobrze pamiętam, to z poziomu bay MSSQL można ustawić replikację, nawet do bazy MySQL'a. Replikacja ma to do siebie, że działa automatycznie, sama w momencie wystąpienia zmian.
Go to the top of the page
+Quote Post
prachwal
post
Post #9





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

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


da się
robisz insert into do tabeli na linked serwerze po odbc - całość w T-SQL-u

linked serwer po ODBC do MySQL-a
Go to the top of the page
+Quote Post
Insomiaa
post
Post #10





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.11.2006

Ostrzeżenie: (10%)
X----


jak to zrobić(IMG:style_emoticons/default/tongue.gif) ?
gdzie ta opcja jest i we wszystkich wersjach ms sql?
Go to the top of the page
+Quote Post
prachwal
post
Post #11





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

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


  1. EXEC master.dbo.sp_addlinkedserver
  2. @server = N'MYSQL',
  3. @srvproduct=N'MySQL',
  4. @provider=N'MSDASQL',
  5. @provstr=N'Driver=MySQL ODBC 5.1 Driver;SERVER=localhost;UID=root;PWD=xxxx;DATABASE=test;PORT=3306;CHARSET=utf8'
  6.  
  7. -- importowanie danych do testu, bo potrzebuję tabelki na wzór
  8. SELECT *
  9. INTO tab_import
  10. FROM openquery (MYSQL,'select * from test.tab_import') AS r
  11.  
  12. -- załadowanie danych do tabeli na maszynie z MySQL
  13. INSERT INTO openquery (MYSQL,'select * from test.tab_import where 1 = 0')
  14. (O1, L1, O2, L2, O3, L3, O4, L4, O5, L5)
  15. SELECT O1, L1, O2, L2, O3, L3, O4, L4, O5, L5
  16. FROM tab_import AS tab_import_1
Go to the top of the page
+Quote Post
Insomiaa
post
Post #12





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.11.2006

Ostrzeżenie: (10%)
X----


sorry zadam jeszcze głupie pytanie i gdzie ja to mam dodać? bo z ms sqla jestem słaby

to co Ty napisałeś to przeniesienie mysql do mssql
Go to the top of the page
+Quote Post
prachwal
post
Post #13





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

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


w zasadzie działa w obie strony, tyle że z poziomu MSSQL-a
Go to the top of the page
+Quote Post
Insomiaa
post
Post #14





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.11.2006

Ostrzeżenie: (10%)
X----


okazało się to dość proste, teraz mam kolejny problem

z managment mssql chce wysłać hasło shashowane:
insert into [dane tabeli mysql] values(uzytkownik, HashBytes('SHA1', 'haslo'), id);
HashBytes to odpowiednik sha1()... ale niestety w mysql hasła wyglądają dziwnie...

Jak to pokonać? Jak z Mssql'a utworzyć w mysql zakodowane hasło... moze innego kodowania użyć np md5?
Go to the top of the page
+Quote Post
prachwal
post
Post #15





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

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


musisz przekonwertować wynik funkcji HashBytes do tekstu, standardowo dane są binarne
przykład
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 04:53