Omdat ik wat meer eisen ga stellen aan de functionele mogelijkheden van ons dbms, wil ik een MySQL database in MS SQL Server importen zodat we hier wat tests op kunnen gaan draaien. Het importen (met de import data wizard) van de database gaat zonder problemen. Bij nadere inspectie blijkt echter dat de datatypes een zooitje worden. Ints worden decimals, varchars krijgen de lengte van het langste veld aanwezig.. Omdat het een groot aantal tabellen betreft heb ik weinig zin om handmatig alle datatypes recht te gaan zetten. Ik ben al op zoek geweest naar import/export tools maar ik vond niet meer dan een goedkoop uitziend tooltje dat 30 dollar moet kosten en het ook niet eens goed doet (en crashed..). Heeft iemand een idee hoe dit op te lossen? Een of ander ingenieus script misschien? DTS? Iets anders?
Als het niet al te veel objecten zijn, dan is het misschien een overweging om de sql te genereren via phpMyAdmin en deze met wat text-replaces geschikt te maken voor MSSQL. De meeste zaken zijn wel redelijk eenvoudig/snel om te zetten.
Grootste probleem daarbij lijkt me de notatie voor indices, die zal je misschien handmatig moeten aanmaken.
Grootste probleem daarbij lijkt me de notatie voor indices, die zal je misschien handmatig moeten aanmaken.
Today's subliminal thought is:
Een dump van de database is 2GB, dat zijn geen textfiles waar m'n (toch niet lullige) windows bakkie blij van wordt. Indices laat ik voor het verhaal nog even buiten beschouwing, eerste prioriteit is de database in correcte vorm op ms sql krijgen.
Zo'n dump kun je beter met MySQL Administrator maken, die kan daar prima mee overweg. Of MS SQL het kan importeren weet ik niet...
"If you see a light at the end of a wormhole, it's probably a photon torpedo!"
De dump maken is ook niet het probleem, maar daarna zal hij bewerkt moeten worden om de datatypes aan te passen. En da's best lastig in een txt file van 2 GB.
Je kan toch enkel de structuur dumpen zodat je datatypes goed staan en vervolgens je huidige manier gebruiken om de data over te brengen?
of je maakt een extra mssql database waarin je alleen de structuur aanmaakt (sql kun je laten genereren door mysql)
en daarna laat je er een dbdifference tool op los (http://www.adeptsql.com/) om de structuur aanpassingen van de lege db op de gevulde db toe te passen.
en daarna laat je er een dbdifference tool op los (http://www.adeptsql.com/) om de structuur aanpassingen van de lege db op de gevulde db toe te passen.
tubby.nl - Artes Moriendi - q1 - bf1942 - WoT - pubg - LinkedIN
Hmm dat zijn wel aardige ideeen, daar ga ik even mee spelen.
Pagina: 1