bash 使用 MDB 工具从 Access 更新 MySQL 的脚本
bash script to update MySQL from Access using MDB Tools
我正在尝试制作一个 cronjob 脚本,它将获取 MS Access 数据库 (*.mdb) 中的条目并更新服务器上的 sql 数据库。我找到的脚本删除了 tables 并将它们替换为 mdb 文件中的那些。
#!/bin/bash
TABLES=$(mdb-tables -1 )
MUSER="cloyd"
MPASS="******"
MDB=""
MYSQL=$(which mysql)
for t in $TABLES
do
$MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t"
done
mdb-schema mysql | $MYSQL -u $MUSER -p$MPASS $MDB
for t in $TABLES
do
mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $t | $MYSQL -u $MUSER -p$MPASS $MDB
done
我尝试将唯一键添加到 ID 上的 table 并删除删除 table 部分,但它只是没有更新 table.
我想通了。我改用 mysqlimport,它似乎工作得更好。
#!/bin/bash
TABLES=$(mdb-tables -1 )
MUSER="cloyd"
MPASS="************"
MDB=""
MYSQL=$(which mysql)
for t in $TABLES
do
mdb-export -D '%Y-%m-%d %H:%M:%S' -Q $t > $t.csv
mysqlimport --fields-terminated-by=, --silent --local --replace --ignore-lines=1 --user=cloyd --password=**** timesystem $t.csv
done
我正在尝试制作一个 cronjob 脚本,它将获取 MS Access 数据库 (*.mdb) 中的条目并更新服务器上的 sql 数据库。我找到的脚本删除了 tables 并将它们替换为 mdb 文件中的那些。
#!/bin/bash
TABLES=$(mdb-tables -1 )
MUSER="cloyd"
MPASS="******"
MDB=""
MYSQL=$(which mysql)
for t in $TABLES
do
$MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t"
done
mdb-schema mysql | $MYSQL -u $MUSER -p$MPASS $MDB
for t in $TABLES
do
mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $t | $MYSQL -u $MUSER -p$MPASS $MDB
done
我尝试将唯一键添加到 ID 上的 table 并删除删除 table 部分,但它只是没有更新 table.
我想通了。我改用 mysqlimport,它似乎工作得更好。
#!/bin/bash
TABLES=$(mdb-tables -1 )
MUSER="cloyd"
MPASS="************"
MDB=""
MYSQL=$(which mysql)
for t in $TABLES
do
mdb-export -D '%Y-%m-%d %H:%M:%S' -Q $t > $t.csv
mysqlimport --fields-terminated-by=, --silent --local --replace --ignore-lines=1 --user=cloyd --password=**** timesystem $t.csv
done