Microsoft AccessデータベースからSQLコマンドのダンプを作成することは可能ですか?このMDBファイルをインポート用にMySQLデータベースに変換して、CSVステップを実行する必要がないようにしたいと思います。
MSSQLダンプファイルでさえも実行可能なSQLコマンドが含まれていると予想しますが、MSSQLについては何も知りません。教えてください。
Mdbをmysqlに変換します(mysqlまたはmysqlダンプへの直接転送)?
MySQLへのアクセス というソフトウェアを試してください。
MySQLへのアクセスは、Microsoft AccessデータベースをMySQLに変換する小さなプログラムです。
- ウィザードインターフェイス。
- あるサーバーから別のサーバーにデータを直接転送します。
- ダンプファイルを作成します。
- 転送するテーブルを選択します。
- 転送するフィールドを選択します。
- パスワードで保護されたデータベースを転送します。
- 共有セキュリティとユーザーレベルのセキュリティの両方をサポートします。
- インデックスのオプションの転送。
- レコードのオプションの転送。
- フィールド定義のデフォルト値のオプションの転送。
- 自動番号フィールドタイプを識別して転送します。
- コマンドラインインターフェース。
- 簡単なインストール、アンインストール、アップグレード。
スクリーンショット付きの段階的なチュートリアルについては、前述のリンクを参照してください。
MdbtoolsがインストールされたLinuxボックスにアクセスできる場合は、次のBashシェルスクリプトを使用できます(mdbconvert.shとして保存)。
#!/bin/bash
TABLES=$(mdb-tables -1 $1)
MUSER="root"
MPASS="yourpassword"
MDB="$2"
MYSQL=$(which mysql)
for t in $TABLES
do
$MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t"
done
mdb-schema $1 mysql | $MYSQL -u $MUSER -p$MPASS $MDB
for t in $TABLES
do
mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t | $MYSQL -u $MUSER -p$MPASS $MDB
done
呼び出すには、次のように呼び出します。
./mdbconvert.sh accessfile.mdb mysqldatabasename
すべてのテーブルとすべてのデータをインポートします。
Nicolay77によってスクリプトを変更して、データベースを標準出力(unixスクリプトの通常の方法)に出力して、データをテキストファイルに出力したり、任意のプログラムにパイプしたりできるようにしました。結果のスクリプトは少しシンプルで、うまく機能します。
いくつかの例:
./to_mysql.sh database.mdb > data.sql
./to_mysql.sh database.mdb | mysql destination-db -u user -p
変更されたスクリプトは次のとおりです(to_mysql.shに保存)。
#!/bin/bash
TABLES=$(mdb-tables -1 $1)
for t in $TABLES
do
echo "DROP TABLE IF EXISTS $t;"
done
mdb-schema $1 mysql
for t in $TABLES
do
mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t
done
無料のデータベースツールテーブルRELATIONSHIPSをエクスポートしない、、これを使用できます: 関係
正常に動作し、すべての関係をMySQLにエクスポートします。
Data Wizard for MySQL を試してください。これは、ADO互換のソース(MS Accessなど)の構造とデータをMySQLデータベースに変換するためのツールです。 接続文字列の簡単なガイド を参照して、MS Accessファイルへの接続文字列を作成してください。
OSXユーザーは、Nicolay77またはmikkomを使用して、mdbtoolsユーティリティ。 Homebrewでインストールできます。 homebrewをインストールしてから
$ homebrew install mdbtools
次に、みんなが説明したスクリプトの1つを作成して使用します。 mikkomのファイルを使用し、すべてのmdbファイルをsqlに変換しました。
$ ./to_mysql.sh myfile.mdb > myfile.sql
(btwには複数のテーブルが含まれています)
この正確な目的のために ESF Database Convert を何度も使用しました。 DTSは、通常あまりにもゆるいものでした。また、MySQLページの推奨事項はひどく古くなっていました。
Microsoftの データ変換サービス を試してください
SQLYog Ultimateを使用してmdbファイルからデータをインポートしましたが、非常に簡単なプロセスでした。
これらのサポートツールをインストールする必要がある場合があります。
以下のSQLYog Ultimateをダウンロードしてください
私はMacを使用して、これを変換します。
このmacツール MDB/ACCDB Viewer は、私のニーズに適しています。無料試用版では、すべてが必要なことを証明し、すべての行の半分をエクスポートしました。 db/tables全体をエクスポートするには、完全版が必要でした。
変換する.mdbファイルのプライバシーにあまり関心がない場合は、このサイトで2つの15年前の.mdb Accessデータベースを復元できることに注意してください(ASPわずか2分でウェブを支配しましたか? http://www.mdbopener.com/
データベースはExcelファイルに変換され、テーブルごとに1つのシートが使用されました。ちょうど私が必要なもの。私の(非常に)古いデータを回復するのにこれ以上速くなることはできませんでした...
IDは各テーブルに保持されているため、CSV形式に保存した後、これをmysqlに再度変換するのは簡単でした-わずか数分で。
https://www.rebasedata.com/convert-mdb-to-mysql-online を試してみたところ、かなりうまくいきました。
登録不要のオンラインソリューション。