
Έχω χτυπάς το κεφάλι μου εναντίον `SQL Server 2005`προσπαθεί να πάρει πολλά στοιχεία έξω. Έχω ήδη δώσει μια βάση δεδομένων με περίπου 300 πίνακες σε αυτό και θα πρέπει να μετατρέψει αυτό σε μια βάση δεδομένων MySQL. Πρώτη κλήση μου ήταν να χρησιμοποιήσει BCP αλλά δυστυχώς δεν παράγει έγκυρα CSV - χορδές δεν είναι έγκλειστα, έτσι ώστε να μην μπορεί να ασχοληθεί με οποιαδήποτε σειρά που έχει ένα string με ένα κόμμα σε αυτό (ή ό, τι μπορείτε να χρησιμοποιήσετε ως διαχωριστικό) και θα πρέπει ακόμα να παραδώσει γράψει όλα τα επιτραπέζια δηλώσεις δημιουργούν, όπως προφανώς CSV δεν σας λέει τίποτα σχετικά με τους τύπους δεδομένων.


Τι θα ήταν καλύτερο είναι αν υπήρχε κάποιο εργαλείο που θα μπορούσε να συνδεθεί τόσο με τον SQL Server και MySQL, στη συνέχεια, κάντε ένα αντίγραφο. Χάνετε προβολές, αποθηκευμένες διαδικασίες, σκανδάλη, κ.λπ., αλλά δεν είναι δύσκολο να αντιγράψετε έναν πίνακα που χρησιμοποιεί μόνο τους τύπους βάση από ένα DB στο άλλο ... είναι αυτό;


Ξέρει κανείς από ένα τέτοιο εργαλείο; Δεν με πειράζει πόσες υποθέσεις θα κάνει ή τι απλουστεύσεις συμβεί, αρκεί να υποστηρίζει integer, float, datetime και κορδόνι. Έχω να κάνω πολλά κλάδεμα, ομαλοποίηση, κλπ ούτως ή άλλως οπότε δεν με νοιάζει για τη διατήρηση κλειδιά, σχέσεις ή κάτι τέτοιο, αλλά χρειάζομαι το αρχικό σύνολο δεδομένων γρήγορα!

 
Πώς να εξάγετε τα δεδομένα από τον SQL Server 2005 σε MySQL
===========================================================



Τροχαίο τη δική σας λύση PHP θα λειτουργήσει σίγουρα αν και δεν είμαι σίγουρος αν υπάρχει ένας καλός τρόπος για να επαναλάβει αυτόματα το σχήμα από το ένα DB στην άλλη (ίσως αυτό ήταν η ερώτησή σας).


Αν είναι μόνο αντιγραφή δεδομένων, και / ή χρειάζεστε προσαρμοσμένου κώδικα ούτως ή άλλως για τη μετατροπή μεταξύ τροποποιημένων σχημάτων μεταξύ των δύο DB, θα ήθελα να συστήσω χρησιμοποιώντας PHP 5.2+ και τις βιβλιοθήκες ΠΟΠ. Θα είστε σε θέση να συνδεθείτε χρησιμοποιώντας ΠΟΠ ODBC (και η χρήση τους οδηγούς MSSQL). Είχα πολλά προβλήματα να πάρει μεγάλα πεδία κειμένου και χαρακτήρων πολλών byte από MSSQL σε PHP χρησιμοποιώντας άλλες βιβλιοθήκες.

 

Ένα άλλο εργαλείο για να δοκιμάσετε θα είναι η σουίτα SQLMaestro - <http://www.sqlmaestro.com> Είναι λίγο δύσκολο κάρφωμα κάτω από το συγκεκριμένο εργαλείο, αλλά έχουν μια ποικιλία εργαλείων, τόσο ελεύθερη και για την αγορά που χειρίζονται μια ευρεία ποικιλία των εργασιών για πολλαπλές πλατφόρμες βάσεων δεδομένων. Θα προτείνουμε να δοκιμάσετε το εργαλείο Οδηγός Δεδομένων πρώτα για MySQL, καθώς πιστεύω ότι θα έχει την κατάλληλη «εισαγωγή» εργαλείο που χρειάζεστε.

 

Ο καλύτερος τρόπος που έχω βρει είναι η [Toolkit MySQL μετανάστευση](http://www.mysql.com/products/tools/migration-toolkit/) που παρέχονται από MySQL. Έχω χρησιμοποιήσει με επιτυχία για ορισμένα μεγάλα έργα της μετανάστευσης.

 

SQL Server 2005 «Standard», «Developer» και τις εκδόσεις «Επιχείρηση» έχει [SSIS](http://en.wikipedia.org/wiki/SQL_Server_Integration_Services) , ο οποίος αντικατέστησε DTS από του SQL Server 2000 SSIS έχει μια ενσωματωμένη σε σχέση με το δικό του DB, και μπορείτε να βρείτε μια σύνδεση ότι κάποιος άλλος έχει γράψει για τη MySQL . [Εδώ](http://jmayo.spaces.live.com/blog/cns!5F243997972597CE!399.entry) είναι ένα παράδειγμα. Μόλις έχετε τις συνδέσεις σας, θα πρέπει να είναι σε θέση να δημιουργήσει ένα πακέτο SSIS που κινείται δεδομένων μεταξύ των δύο.


Δεν είχα να μετακινήσετε δεδομένα από sqlserver σε MySQL, αλλά φαντάζομαι ότι μόλις έχει εγκατασταθεί η σύνδεση MySQL, λειτουργεί το ίδιο με τη μετακίνηση δεδομένων μεταξύ δύο SQLServer ΒΔ, η οποία είναι αρκετά απλή.

 

Χρησιμοποιώντας MSSQL Management Studio έχω μεταβεί πίνακες με την MySQL OLE DB. Κάντε δεξί κλικ στη βάση δεδομένων σας και πηγαίνετε στο «Tasks-> Εξαγωγή δεδομένων» από εκεί μπορείτε να καθορίσετε μια πηγή MsSQL OLE DB, την πηγή της MySQL OLE DB και να δημιουργήσει τις αντιστοιχίσεις στήλης μεταξύ των δύο πηγών δεδομένων. 


Θα πιθανότατα θέλει να ρυθμίσετε τη βάση δεδομένων και πίνακες εκ των προτέρων για τον προορισμό MySQL (η εξαγωγή θα θέλετε να δημιουργήσετε τους πίνακες αυτόματα, αλλά αυτό συχνά οδηγεί σε ανεπάρκεια). Μπορείτε να δημιουργήσετε γρήγορα τους πίνακες MySQL χρησιμοποιώντας το «Tasks-> Δημιουργία Σενάρια» κάνοντας δεξί κλικ στη βάση δεδομένων. Μόλις τα σενάρια δημιουργία σας δημιουργείται θα πρέπει να εντείνουν μέσα και αναζήτηση / αντικατάσταση για λέξεις-κλειδιά και τα είδη που υπάρχουν σε MSSQL να MySQL.


Φυσικά θα μπορούσε επίσης αντίγραφο ασφαλείας της βάσης δεδομένων, όπως φυσιολογικό και να βρει ένα βοηθητικό πρόγραμμα που θα επαναφέρετε το αντίγραφο ασφαλείας MSSQL στην MySQL. Δεν είμαι σίγουρος αν υπάρχει όμως.

 