Hvordan eksportere data fra SQL Server 2005 til MySQL

stemmer
82

Jeg har vært stanger hodet mot SQL Server 2005å prøve å få en masse data ut. Jeg har fått en database med nesten 300 bord i den, og jeg trenger å snu dette til en MySQL database. Min første samtalen var å bruke BCP, men dessverre er det ikke produserer gyldig CSV - strenger er ikke innkapslet, slik at du ikke kan håndtere en rad som har en streng med et komma i den (eller hva du bruker som skilletegn) og jeg ville fortsatt har for hånden skrive alle CREATE tABLE uttalelser, som åpenbart CSV ikke fortelle deg noe om datatypene.

Hva ville være bedre om det var noen verktøy som kan koble til både SQL Server og MySQL, og deretter gjøre en kopi. Du mister visninger, lagrede prosedyrer, trigger, osv, men det er ikke vanskelig å kopiere en tabell som bare bruker grunntyper fra en DB til en annen ... er det?

Er det noen som vet om et slikt verktøy? Jeg har ikke noe imot hvor mange antagelser det gjør eller hva forenklinger skje, så lenge det støtter heltall, flyte, datetime og streng. Jeg må gjøre mye beskjæring, normalisering, etc. uansett så jeg bryr meg ikke om å holde nøkler, relasjoner eller noe sånt, men jeg trenger den første sett med data i rask!

Publisert på 01/08/2008 klokken 16:22
kilden bruker
På andre språk...                            


5 svar

stemmer
59

Den beste måten jeg har funnet er den MySQL Migration Toolkit levert av MySQL. Jeg har brukt det med hell for noen store migreringsprosjekter.

Svarte 01/08/2008 kl. 17:54
kilden bruker

stemmer
8

Bruke MSSQL Management Studio jeg har gått tabeller med MySQL OLE DB. Høyreklikk på databasen og gå til "Oppgaver> Eksporter data" derfra kan du angi en MSSQL OLE DB kilde, MySQL OLE DB kilde og lage kolonne tilordninger mellom de to datakilder.

Du vil mest sannsynlig vil sette opp databasen og tabeller på forhånd på MySQL destinasjon (eksport vil ønske å lage tabeller automatisk, men dette resulterer ofte i fiasko). Du kan raskt opprette tabellene i MySQL ved hjelp av "Oppgaver> generere skript" ved å høyreklikke på databasen. Når dine opprettelse skript genereres må du gå gjennom og søk / erstatt for søkeord og typer som finnes i MSSQL til MySQL.

Selvfølgelig kan du også sikkerhetskopiere databasen som vanlig og finne et verktøy som vil gjenopprette MSSQL backup på MySQL. Jeg er ikke sikker på om det finnes imidlertid.

Svarte 15/09/2008 kl. 16:23
kilden bruker

stemmer
8

SQL Server 2005 "Standard", "Developer" og "enterprise" utgavene har SSIS , som erstattet DTS fra SQL Server 2000. SSIS har en innebygd i forbindelse med sin egen DB, og du kan finne en tilkobling som noen andre har skrevet for MySQL . Her er ett eksempel. Når du har koblinger, bør du være i stand til å lage en SSIS pakke som beveger data mellom de to.

Jeg har ikke hatt til å flytte data fra SQL Server til MySQL, men jeg kan tenke meg at når MySQL-tilkoblingen er installert, fungerer det det samme som å flytte data mellom to SQLServer DBS, som er ganske rett frem.

Svarte 15/09/2008 kl. 16:11
kilden bruker

stemmer
8

Rullende din egen PHP løsningen vil sikkert fungere selv om jeg er ikke sikker på om det er en god måte å automatisk duplisere skjema fra en DB til den andre (kanskje dette var spørsmålet ditt).

Hvis du bare kopierer data, og / eller du trenger egendefinert kode allikevel å konvertere mellom modifiserte skjemaer mellom de to DB-tallet, ville jeg anbefale å bruke PHP 5.2+ og PUD bibliotekene. Du vil være i stand til å koble til med PUD ODBC (og bruke MSSQL drivere). Jeg hadde mye problemer med å få store tekstfelt og flerbyte-tegn fra MSSQL til PHP bruker andre biblioteker.

Svarte 01/08/2008 kl. 16:36
kilden bruker

stemmer
6

Et annet verktøy for å prøve ville være SQLMaestro suite - http://www.sqlmaestro.com Det er litt vanskelig spikre ned nøyaktig verktøy, men de har en rekke verktøy, både gratis og for kjøp som håndterer et bredt spekter av oppgaver for flere databaseplattformer. Jeg vil foreslå prøver Data Wizard verktøyet først for MySQL, siden jeg tror at vil ha skikkelig "import" verktøyet du trenger.

Svarte 01/08/2008 kl. 16:47
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more