Hoe om gegevens van SQL Server 2005 te exporteren naar MySQL

stemmen
80

Ik heb bonken mijn hoofd tegen SQL Server 2005het proberen om een grote hoeveelheid gegevens eruit te komen. Ik heb gekregen een database met bijna 300 tafels in het en ik nodig om dit om te zetten in een MySQL database. Mijn eerste gesprek was om BCP gebruiken, maar helaas is het produceert geen geldige CSV - snaren worden niet ingekapseld, zodat je niet kunt omgaan met elke rij die een string met een komma in zich heeft (of wat je ook gebruiken als scheidingsteken) en ik zou nog steeds bij de hand te schrijven alle create table verklaringen, zoals uiteraard CSV niet u iets over de data types te vertellen.

Wat zou beter zijn is als er enige instrument dat kan worden aangesloten op SQL Server en MySQL, dan is een kopie te doen. Je verliest weergaven, opgeslagen procedures, trigger, etc, maar het is niet moeilijk om een ​​tafel die alleen gebruik maakt van basistypen van de ene database naar de andere ... is het te kopiëren?

Weet iemand van een dergelijke tool? Ik vind het niet erg hoeveel veronderstellingen maakt of wat vereenvoudigingen komen, zolang het ondersteunt integer, float, datetime en string. Ik moet veel snoeien, normaliseren, etc. toch doen dus kan me niet schelen over het houden van sleutels, relaties of iets dergelijks, maar ik moet de eerste set van gegevens in snel!

De vraag is gesteld op 01/08/2008 om 17:22
bron van user
In andere talen...                            


5 antwoorden

stemmen
7

Rolling uw eigen PHP-oplossing zal zeker werken maar ik ben niet zeker of er is een goede manier om het schema van de ene database naar de andere (misschien was je vraag) automatisch dupliceren.

Als je gewoon het kopiëren van gegevens, en / of als u aangepaste code in ieder geval om te zetten tussen gewijzigde schema's tussen de twee DB, zou ik adviseren met behulp van PHP 5.2+ en de BOB bibliotheken. Je zult in staat om verbinding te maken met behulp van PDO ODBC (en gebruik MSSQL drivers). Ik had veel problemen met het krijgen grote tekstvelden en multi-byte karakters van MSSQL in PHP met behulp van andere bibliotheken.

antwoordde op 01/08/2008 om 17:36
bron van user

stemmen
5

Een ander hulpmiddel om te proberen zou de SQLMaestro suite zijn - http://www.sqlmaestro.com Het is een beetje lastig spijkeren vaststelling van de precieze functie, maar ze hebben een verscheidenheid aan instrumenten, zowel gratis als voor aankoop die een breed scala van taken uit te voeren voor meerdere databaseplatformen. Ik stel voor dat je de functie Wizard gegevens eerst voor MySQL, omdat ik denk dat de juiste "import" tool die u nodig zal hebben.

antwoordde op 01/08/2008 om 17:47
bron van user

stemmen
58

De beste manier die ik heb gevonden is de MySQL Migration Toolkit geleverd door MySQL. Ik heb het met succes gebruikt voor enkele grote migratieprojecten.

antwoordde op 01/08/2008 om 18:54
bron van user

stemmen
8

SQL Server 2005 "Standard", "Ontwikkelaar" en "Enterprise" edities SSIS , die DTS vervangen van SQL Server 2000 SSIS heeft een ingebouwde in verband met zijn eigen DB, en je kunt een verbinding te vinden dat iemand anders heeft geschreven voor MySQL . Hier is een voorbeeld. Zodra u uw verbindingen kunt u in staat zijn om een pakket SSIS dat gegevens tussen de twee beweegt te creëren.

Ik heb niet de gegevens van SQL Server naar MySQL, maar ik kan me voorstellen dat als de MySQL-verbinding is geïnstalleerd, het hetzelfde als het verplaatsen van gegevens tussen twee SQL Server DB, dat is vrij rechttoe rechtaan werkt.

antwoordde op 15/09/2008 om 17:11
bron van user

stemmen
8

Met behulp van MSSQL Management Studio Ik heb tafels met de MySQL OLE DB overgezet. Klik met de rechtermuisknop op uw database en ga naar "Tasks-> Export Data" vanaf daar kunt u een MsSQL OLE DB-bron, de MySQL OLE DB bron opgeeft en maak de kolomtoewijzingen tussen de twee gegevensbronnen.

U zult waarschijnlijk willen instellen van de database en tabellen voorschot op de MySQL bestemming (de export zal willen de tabellen automatisch, maar dit resulteert vaak in falen). U kunt de tabellen in MySQL snel te maken met de "Tasks-> Generate Scripts" door rechts te klikken op de database. Zodra uw creatie scripts worden gegenereerd die je nodig hebt om door te stappen en zoeken / vervangen voor zoekwoorden en types die er bestaan ​​in MSSQL aan MySQL.

Natuurlijk kun je ook een backup van de database zoals normaal en het vinden van een tool die de MSSQL back-up op MySQL zal herstellen. Ik weet niet zeker of dit bestaat echter.

antwoordde op 15/09/2008 om 17:23
bron van user

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