91

.bakSQL Server データベースのバックアップ ファイル ( ) から MySQLに変換しようとしています。この質問と回答は非常に役に立ち、データベースのインポートには成功しましたが、MySQL へのエクスポートで行き詰まっています。

MySQL Migration Toolkitが提案されましたが、 MySQL Workbenchに置き換えられたようです。移行ツールと同じように、MySQL Workbench を使用して SQL Server から移行することはできますか?

または、Migration Toolkit はまだどこかで入手できますか?

4

11 に答える 11

24

sqlyogを使用して mssql から mysql に移行します。Migration toolkit と workbenchを試しましたが、 SJAの sqlyog が気に入りました。インポート プロセスをスケジュールし、WHERE 句を使用して増分インポートを実行できました。

ここに画像の説明を入力

于 2012-08-03T09:22:07.017 に答える
7

PhpMyAdminには、MSSQLファイルタイプもインポートできるインポートウィザードがあります。

サポートされているDBスクリプトのタイプについては、http://dev.mysql.com/doc/refman/5.1/en/sql-mode.htmlを参照してください。

于 2011-08-22T09:21:00.603 に答える
6

MSSQL 互換の SQL ダンプがある場合は、このオンライン ツールを使用して 1 つずつ MySQL クエリに変換できます。

http://burrist.com/mstomy.php

それがあなたの時間を節約したことを願っています

于 2014-02-24T16:02:48.583 に答える
6

前述のように、データにタブ文字、カンマ、または改行が含まれている場合、CSV でエクスポートおよびインポートすることは非常に困難になります。値がフィールドからオーバーフローし、エラーが発生します。長いフィールドに改行文字を含む複数行のテキストが含まれている場合、この問題はさらに悪化します。

このような場合の私の方法は、BCP コマンドライン ユーティリティを使用して SQL サーバーからデータをエクスポートし、次に MySQL で LOAD DATA INFILE .. INTO TABLE コマンドを使用してデータ ファイルを読み戻すことです。BCP は最も古い SQL サーバーの 1 つです。コマンド ライン ユーティリティ (SQL サーバーの誕生 - v6.5 までさかのぼります) ですが、現在でも使用されており、データを取得するための最も簡単で信頼性の高い方法の 1 つです。

この手法を使用するには、MySQL で同じまたは同等のスキーマを使用して各宛先テーブルを作成する必要があります。これを行うには、SQL エンタープライズ マネージャーでデータベースを右クリックし、[タスク] -> [スクリプトの生成...] を選択して、すべてのテーブルの SQL スクリプトを作成します。次に、手動でスクリプトを MySQL と互換性のある SQL に変換する必要があります (間違いなく、この作業の最悪の部分です)。最後に、MySQL データベースで CREATE TABLE コマンドを実行して、テーブルを SQL サーバーのバージョンと列方向に一致させ、空で準備ができているようにします。データ。

次に、次のように MS-SQL 側からデータをエクスポートします。

bcp DatabaseName..TableName out TableName.dat -q -c -T -S ServerName -r \0 -t !\t!

(SQL Server Express を使用している場合は、-S "ComputerName\SQLExpress" のように -S 値を使用します)

これにより、フィールドが ![tab]! で区切られた、TableName.dat という名前のファイルが作成されます。\0 NUL 文字で区切られた行。

.dat ファイルを MySQL サーバーの /tmp にコピーし、次のように MySQL 側にロードします。

LOAD DATA INFILE '/tmp/TableName.dat' INTO TABLE TableName FIELDS TERMINATED BY '!\t!' LINES TERMINATED BY '\0';

テーブル (この例では TableName) は MySQL 側で既に作成されている必要があることを忘れないでください。

この手順は、SQL スキーマの変換に関しては非常に手作業ですが、最も難しいデータでも機能し、フラット ファイルを使用するため、SQL Server に MySQL と通信するように説得する必要はありません。

于 2014-02-04T08:06:11.740 に答える
4

これは、 Data Loaderツールを使用して簡単に行うことができます。このツールを使用する前にすでにこれを行っていて、それが良いとわかりました.

于 2012-07-06T11:26:35.477 に答える
2

正解のようです。MigrationToolkitはMySQLWorkbenchと統合される予定ですが、これはまだ完了していないと思います。MySQL GUIツール(Migration Toolkitを含む)の保守終了の発表を参照してください。

http://www.mysql.com/support/eol-notice.html

MySQLは、MySQLGUIツールパッケージのアーカイブを維持しています。

http://dev.mysql.com/downloads/gui-tools/5.0.html

于 2010-10-18T04:45:13.583 に答える
2

MySQL Migration Tool Kit の [Advanced] タブで以下の接続文字列を使用して、SQL Server 2008 インスタンスに接続しました。

jdbc:jtds:sqlserver://"sql_server_ip_address":1433/<db_name>;Instance=<sqlserver_instanceName>;user=sa;password=PASSWORD;namedPipe=true;charset=utf-8;domain= 

通常、パラメーターには「systemName\instanceName」があります。ただし、上記では、 「systemName\」を追加しないでください (InstanceName のみを使用してください)。

instanceName を確認するには、services.msc に移動し、MSSQL インスタンスの DisplayName を確認します。MSSQL$instanceName のように表示されます。

mysql移行ツールキットからのMSSQL接続でこれが役立つことを願っています。

于 2011-08-24T14:48:40.647 に答える
1

MySQL Migration Toolkit (1.1.10) は、引き続きここからダウンロードできます。

http://downloads.mysql.com/archives.php?p=MySQLDeveloperSuite&v=1.1.10

于 2012-05-15T14:32:04.357 に答える
1

mssql から mysql に取得しなければならないデータがいくつかあり、解決策を見つけるのに苦労しました。だから私が最終的にやったこと(それを行うには少し長い道のりですが、最後の手段としてそれは機能します)は次のとおりです:

  • SQL Server Management Studio Express で mssql データベースを開きます (私は 2005 年を使用しました)。
  • 各テーブルを順番に開き、
  • 左上隅のボックスをクリックして、テーブル全体を選択します。

  • データをクリップボードにコピー (ctrl + v)

  • ms エクセルを開く
  • クリップボードからデータを貼り付け
  • Excel ファイルを .csv として保存
  • テーブルごとに上記を繰り返します
  • これでデータを mysql にインポートできるはずです

お役に立てれば

于 2013-02-20T19:24:00.763 に答える
0

ダウンロードは公式 Web サイト ( http://dev.mysql.com/downloads/gui-tools/5.0.html ) では利用できなくなりました。代わりに、こちらをご覧ください: http://download.softagency.net/MySQL/Downloads /MySQLGUIツール/

于 2012-07-06T10:04:33.833 に答える