Vă mulțumim pentru susținere

Cum se exportă date din SQL Server 2005 în MySQL

Mi-am lovit capul împotriva SQL Server 2005 încercând să obțin multe date. Mi sa dat o bază de date cu aproape 300 de tabele în el și trebuie să transform acest lucru într-o bază de date MySQL. Primul meu apel a fost să utilizez bcp dar, din păcate, nu produce valide CSV - șirurile nu sunt încapsulate, deci nu puteți face față niciunui rând care are un șir cu virgulă în el (sau orice altceva îl folosiți ca delimiter) și ar trebui să scriu în continuare toate instrucțiunile de creare a tabelului, deoarece, evident, CSV nu vă spune nimic despre tipurile de date.

Ce ar fi mai bine dacă ar exista un instrument care să se poată conecta la SQL Server și MySQL, apoi să facă o copie. Pierdeți vizualizări, proceduri stocate, declanșați etc., dar nu este greu să copiați un tabel care utilizează numai tipuri de bază dintr-un DB la altul ... nu-i așa?

Știe cineva un astfel de instrument? Nu mă deranjează cât de multe presupuneri iau sau ce simplificări au loc, atâta timp cât suportă întreg, float, datetime și șir. Trebuie să fac o mulțime de tăiere, normalizare, etc oricum așa că nu-mi pasă de păstrarea de chei, relații sau ceva de genul asta, dar am nevoie de setul inițial de date în repede!

0
adăugat editat
Am auzit câțiva utilizatori care au reușit să utilizeze MSSQL2MySQL , dar nu pot garanta pentru mine.
adăugat autor Greg Hurlman
@borjab: SQLyog a folosit pentru a lucra cu ODBC în versiuni mai vechi, dar nu mai este, deci nu este o opțiune pentru acest job.
adăugat autor BlaM
Am auzit că SQLYob o poate face. << a href = "http://www.webyog.com/ro/>" rel = "nofollow noreferrer"> webyog.com/ro/> ; aici: << a href = "http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1196733,00.html#>" rel = "nofollow noreferrer"> searchsqlserver.techtarget.com/tip/… / a>;
adăugat autor borjab
Acest instrument este exact ceea ce ați cerut: Convertire completă a întreprinderii . Adevărat, pierdeți opinii, proceduri și declanșatoare, dar este foarte optimizat pentru mese uriașe. O altă soluție (mai scumpă) care traduce toate obiectele (proceduri etc.) este SqlTran SQL Server la MySQL
adăugat autor Damir Bulic
Răspuns similar, de aici: stackoverflow.com/questions/11619177/…
adăugat autor Jacob

4 răspunsuri

Cea mai bună metodă pe care am găsit-o este MySQL Migration Toolkit oferită de MySQL. Am folosit-o cu succes pentru unele mari proiecte de migrație.

0
adăugat
nu doriți să efectuați conversii DATE sau coloane DATETIME :(
adăugat autor Robert Ivanc
Notă: Momentan, MySQL Migration Toolkit nu este disponibil pentru Linux (de la dev.mysql.com/doc/migration-toolkit/ro/… )
adăugat autor mkirk
+1 - Acum este EOL, iar MySQL Workbench va include un plugin de migrare (versiunea anterioară 5.2), dar acum utilizați următorul link: dev.mysql.com/downloads/gui-tools/5.0.html
adăugat autor Mark Robinson
Rețineți că My SQL Migration Toolkit necesită versiunea pe 32 de biți a versiunii JDK 5 8 sau mai recentă (trebuie să fie versiunea 5, versiunea 6 nu va funcționa), pe care o puteți descărca aici: tinyurl.com/5snd6y3
adăugat autor casterle

Rolling propria soluție PHP va funcționa cu siguranță, deși nu sunt sigur dacă există o modalitate bună de a duplica automat schema de la un DB la altul (poate aceasta a fost întrebarea dvs.).

Dacă copiați doar date și / sau aveți nevoie de cod personalizat oricum pentru a converti între schemele modificate între cele două DB-uri, aș recomanda utilizarea PHP 5.2+ și a bibliotecilor PDO. Veți putea să vă conectați folosind ODBC PDO (și să utilizați drivere MSSQL). Am avut multe probleme de a obține câmpuri de text mari și caractere multi-byte de la MSSQL în PHP folosind alte biblioteci.

0
adăugat

Un alt instrument pentru a încerca ar fi suita SQLMaestro - http://www.sqlmaestro.com Este un pic cam dificil de cuie în jos instrumentul precis, dar au o varietate de instrumente, atât gratuite cât și pentru achiziții, care gestionează o mare varietate de sarcini pentru mai multe platforme de baze de date. Vă sugerăm să încercați mai întâi instrumentul Wizard Data pentru MySQL, deoarece cred că va avea un instrument de "import" corespunzător de care aveți nevoie.

0
adăugat

Edițiile SQL Server 2005 "Standard", "Developer" și "Enterprise" au SSIS , care au înlocuit DTS de la serverul Sql 2000. SSIS are o conexiune construită în DB-ul propriu și puteți găsi o conexiune pe care cineva a scris-o pentru MySQL. Aici este un exemplu. Odată ce aveți conexiunile, ar trebui să puteți crea un pachet SSIS care să mute datele între cele două.

Nu am avut de a muta datele din SQlServer în MySQL, dar îmi imaginez că odată ce conexiunea MySQl este instalată, funcționează la fel ca și mutarea datelor între două DB-uri SQLServer, ceea ce este destul de drept.

0
adăugat