Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Migrazione dati da mssql a mysql
giovedì 12 luglio 2007 - 17.25
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
killer
Profilo
| Newbie
32
messaggi | Data Invio:
gio 12 lug 2007 - 17:25
ciao voi come fare ste per far passsare da mssql 2005 express a mysql i dati? nel senso che dovrei in base all aggiornamento del db mssql in sincrono aggiornare un database mysql su tot tabelle e campi...e siste un modo con qualche store o sintassi SQL?
ho avuto un idea...potrebbe anche andare ma ha molti difetti..secondo me su database enormi..
poi secondo voi e possibile intersecare un aquery basata su 2 database differenti cioe
partire da mssql_query(select nom from tabella where campo NOT IN (mysql_query(select nome campo from database));
una cosa del genere è possibile secondo voi? ciao e grazie
PS(la fantasia non mi manca
)
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 12 lug 2007 - 20:20
>dovrei in base all aggiornamento
>del db mssql in sincrono aggiornare un database mysql su tot
>tabelle e campi...e siste un modo con qualche store o sintassi
>SQL?
Ciao Killer,
ti sconsiglio fortemente di eseguire un aggiornamento sincrono in quanto la transazione verrà conclusa al termine della scrittura sul database remoto, allungando a dismisura i tempi con il rischio di diminuire enormemente la scalabilità del sistema.
Questo genere di operazioni è sempre meglio eseguirle in modo asincrono, schedulando un job di sincronizzazione eseguito ogni tot tempo.
L'operazione è fattibile definendo in SQL Server un linked server a MySQL ed identificando gli oggetti remoti utilizzando il four-part name (server.database.schema.oggetto).
Sui Books Online troverai tutto quello che ti serve, iniziando dal seguente paragrafo:
"Linking Servers"
http://msdn2.microsoft.com/en-us/library/ms188279.aspx
>ciao e grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
killer
Profilo
| Newbie
32
messaggi | Data Invio:
ven 13 lug 2007 - 15:51
ciao e grazie adesso provo ..avevo tentato qualcosa..ma non andava...uhm...comunque do un occhio al link che mi ahai detto tu...per il momento avrei risolto con un barbatrucco...pero preferirei utilizzare il metodo che mi ha consigliato...uhm certo pero su un db con 10 000 000 record...ad esempio non potrebbe impallarsi un pochino il server? tu cosa consigli?
ciao e grazie
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 13 lug 2007 - 15:58
>uhm certo pero su un db con 10 000 000
>record...ad esempio non potrebbe impallarsi un pochino il server?
>tu cosa consigli?
Ovviamente ad ogni passata del job, andrai a sincronizzare SOLO le nuove righe che devono essere spostate su MySQL.
Potresti prevedere una colonna che contenga lo stato della modifica (U - Update, I - Insert) in modo da sapere come comportarti; se esegui anche cancellazioni a questo punto ti conviene preparare una tabella di log contenente le colonne della tabella base e la colonna di status (che in questo caso potrà assumere anche il valore D - Delete) che andrai a popolare in modo sincrono con uno o più triggers.
Il Job andrà ad interrogare la tabella di log per stabilire il tipo di sincronizzazione che deve essere effettuata.
In sostanza generi una sorta di coda...
>ciao e grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
killer
Profilo
| Newbie
32
messaggi | Data Invio:
gio 23 ago 2007 - 10:48
mi potrresti fare un esempio? ho provato a seguire la procedura ma mi da errore sul server
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !