90

私はSQL Server 2005、大量のデータを取得しようとすることに頭を悩ませてきました。300 近くのテーブルを含むデータベースが与えられたので、これを MySQL データベースに変換する必要があります。私の最初の呼び出しは bcp を使用することでしたが、残念ながら有効な CSV を生成しません。文字列はカプセル化されていないため、コンマを含む文字列 (または区切り文字として使用するもの) を含む行を処理できません。明らかに、CSV はデータ型について何も教えてくれないので、すべての create table ステートメントを手書きする必要があります。

SQL Server と MySQL の両方に接続してコピーを実行できるツールがあれば、さらに良いでしょう。ビュー、ストアド プロシージャ、トリガーなどは失われますが、ベース タイプのみを使用するテーブルを 1 つの DB から別の DB にコピーするのは難しくありません。

そのようなツールを知っている人はいますか?integer、float、datetime、および string をサポートしている限り、仮定の数や発生する単純化の数は気にしません。とにかく、多くの剪定、正規化などを行わなければならないので、キーや関係などを保持することは気にしませんが、データの初期セットを迅速に取得する必要があります!

4

5 に答える 5

59

私が見つけた最良の方法は、 MySQL が提供するMySQL Migration Toolkitです。いくつかの大規模な移行プロジェクトでそれをうまく使用しました。

于 2008-08-01T17:54:08.163 に答える
9

SQL Server 2005 の "Standard"、"Developer"、および "Enterprise" エディションには、SQL Server 2000 の DTS を置き換えるSSISがあります。SSIS には独自の DB への組み込みの接続があり、他の誰かが作成した接続を見つけることができます。 MySQL。これが一例です接続が確立されたら、2 つの間でデータを移動する SSIS パッケージを作成できるはずです。

SQLServer から MySQL にデータを移動する必要はありませんが、MySQL 接続がインストールされると、2 つの SQLServer DB 間でデータを移動するのと同じように機能すると思います。これは非常に簡単です。

于 2008-09-15T16:11:20.677 に答える
9

MSSQL Management Studio を使用して、MySQL OLE DB でテーブルを移行しました。データベースを右クリックし、そこから [タスク] -> [データのエクスポート] に移動します。MsSQL OLE DB ソース、MySQL OLE DB ソースを指定して、2 つのデータ ソース間の列マッピングを作成できます。

ほとんどの場合、MySQL の宛先で事前にデータベースとテーブルをセットアップする必要があります (エクスポートではテーブルを自動的に作成する必要がありますが、これは多くの場合失敗します)。データベースを右クリックして [タスク] -> [スクリプトの生成] を使用すると、MySQL でテーブルをすばやく作成できます。作成スクリプトが生成されたら、ステップスルーして、MSSQL に存在するキーワードとタイプを MYSQL に検索/置換する必要があります。

もちろん、通常どおりデータベースをバックアップし、MYSQL で MSSQL バックアップを復元するユーティリティを見つけることもできます。ただし、存在するかどうかはわかりません。

于 2008-09-15T16:23:13.380 に答える
8

独自の PHP ソリューションを展開することは確かに機能しますが、ある DB から別の DB にスキーマを自動的に複製する良い方法があるかどうかはわかりません (おそらくこれはあなたの質問でした)。

データをコピーするだけの場合、および/または 2 つの DB 間で変更されたスキーマ間で変換するカスタム コードが必要な場合は、PHP 5.2+ と PDO ライブラリを使用することをお勧めします。PDO ODBC (および MSSQL ドライバーを使用) を使用して接続できます。他のライブラリを使用して、MSSQL から PHP に大きなテキスト フィールドとマルチバイト文字を取得する際に、多くの問題がありました。

于 2008-08-01T16:36:42.080 に答える
6

試してみる別のツールは、SQLMaestro スイートです。正確なツールを特定するのは少し難しいですが、複数のデータベース プラットフォームでさまざまなタスクを処理するさまざまなツールが無料または有料で提供されています。最初に MySQL 用の Data Wizard ツールを試すことをお勧めします。それには、必要な適切な「インポート」ツールがあると信じているからです。

于 2008-08-01T16:47:54.927 に答える