重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

mysqlのデータベース移行を検討しています。

移行元と移行先のデータベースの構造は異なっており、単純にコピーする訳にはいきません。
個々のテーブルのフィールド単位に、データの設定先を決定する必要があります。

これは、プログラムを作成してデータの移行を行うしか方法はないかと思うのですが、
もし、何か有用なツールでもご存知の方がいらっしゃいましたら、教えて頂きたく、
投稿しました。

又、プログラムを作成するにしても、どの言語で作成するのが効率的なのか、
ご教授頂けたらと思います。

A 回答 (4件)

まず元DBとまったく同じものを移行先にコピーし


INSERT ~ SELECT
で新しいテーブルに流し込んでやればいいでしょう
    • good
    • 0

アクセスでやるなら、移行先にテーブルをそのままデュープリケートして、新しいテーブルも作り、ODBCなどでDBにリンクして、新しいテーブルにインサートしていく、、、



まあ、SQLをアクセスを使って作るだけですけど、アクセスクエリ内ではVBAで作成したファンクション等が利用できるため、手軽ではあります。  速度は期待できませんので、サイズによってはお勧めできませんが。
    • good
    • 0

プログラムを書かないとダメなのか、コマンドファイルで対応できるような程度なのか、移項前後の具体的な構造・構成(ようはデータ構造全体の「意味」ですね)によるので何とも。

。。
OSにも多少依存しますし。
例えばUNIX系のOSでしたら適当な(適切な)shellを使えばコマンドレベルでデータ加工などかなりのことが出来ます。正規表現などちゃんと使いこなせれば。。。

で。
データベース設計者は現行データベースと移行先データベースの意味合いの差異を承知しているはずですから、移行先データベースへ投入するのに適したデータ構造で現行データベースからデータ抽出(一度CSVファイルに出力するとか)を行うSQL文が書けるのではないでしょうか?
であればプログラムなど必要なく、抽出用コマンドファイルと投入コマンドファイルを作ればよいと。。。

ちなみにデータベース移行も大変でしょうが、それより現行データベースを使用しているアプリケーションや各種管理用のコマンドファイルなどの改修と確認の方が大変そうですね。(^^;

参考まで。
    • good
    • 0

移行期間の制限とかテーブル数とか、テーブルサイズとかわからないと、何が良いのかわかりませんが、、、


そんなに巨大でないなら、MSAccessなどでチョチョイとやってしまうのが簡便ではあります。
    • good
    • 0
この回答へのお礼

Accessでできるんですか?
どのようにやればいいのでしょうか?

お礼日時:2017/02/24 10:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す