04. oktober 2006 - 14:07Der er
16 kommentarer og 2 løsninger
Eksport database fra MySQL til MS SQL
Hej!
Jeg står med et lidt irriterende problem. Jeg har en database på en MySQL 5.0 server som jeg skal have flyttet over på en MS SQL server. Jeg aner bare ikke hvordan. :-| Jeg har søgt på nettet men jeg har intet brugbart fundet..
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Når du laver et dump fra en mySQL får du en række tekstfiler der indeholder SQL udtryk til at oprette tabeller og indsætte de eksisterende data fra DBen. Problemet er bare at SQL syntaksen er forskellig i mySQL og MSSQL.
Hvis jeg skulle gøre sådan noget ville jeg lure hvordan tabellerne var opbygget i mySQL og så lave det manuelt i MSSQL. Så ville jeg eksportere data ud i .csv filer og importere dem ind først i Excel og så i MSSQL.
Afhængig af antallet af tabeller og mængden af data, kan det godt blive noget tidskrævende.
Advarsel, stupid question coming up: Hvad er migrere? :-D
Min database indeholder ca 240075 poster fordelt på 3 tabeller..
Jeg er ligeglad med tiden det tager, for mig er det bare vigtigst at få dataene over helst helt uden tab eller fejl. Om det så tager 2 dage med Excel metoden, vil jeg hellere det end at skulle skynde mig og ødelægge det hele. :)
Jeg skulle mene jeg har shell-adgang. Jeg har i hvert fald direkte adgang som admin til begge servere..
Problemet med at eksportere som kommaseparerede filer er dog det at visse af felterne i databasen sagtens kunne indholde kommaer, og hvad gør man så? :-o
Jeg har prøvet at eksportere fra MySQL til kommasep fil nu og så prøvet at importere det i Excel, men Excel kan ikke importere mere end 65000 rækker pr ark, og det er helt åndssvagt at ville fortsætte importeringen i et nyt ark - Det spiller ikke.. :(
Aah jeg fandt den... Hvordan siger du jeg importerer den i SQL Management Studio 2005? Jeg synes ikke umiddelbart ikke jeg kan finde noget med importering af XML.. :)
Weird! Du skal nok bruge Data Transformation Services (DTS) - Men hvis du ikke lige kan finde det, så kan du nok nøjes med at lade mysqldump lave en complete create/insert export eller en CSV (komma/semikolon-separeret fil med " som string-adskillere) - den kan den da godt importere... :)
så derfor er det ikke noget problem hvis der er komma i data de er pakket ind i "gåseøjne". Den MSSQL jeg har vil ikke importere XML, men det er osse en ældre version.
Du behøver ikke at have samtlige poster i Excel, det er kun en kontrol af at data ikke er blevet korrupte.
Så fandt jeg endeligt en løsning. Jeg eksporterer databasen fra MySQL som kommasepareret med "," som kolonne adskiller og med field names i første række. Så bruger jeg Import/Export Wizard (kanon artikel coderdk, tak!) og importerer til min MS SQL database, på tabeller jeg allerede har oprettet i forvejen.
Der skulle lidt tweaking til for at få det til at virke, men endeligt har jeg løsningen på mit problem. Hvis I lige smider et par svar, ffsoft og coderdk, så kaster jeg nogle point jeres vej.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.