【问题标题】:bash script to update MySQL from Access using MDB Tools使用 MDB 工具从 Access 更新 MySQL 的 bash 脚本
【发布时间】:2015-09-21 14:37:22
【问题描述】:

我正在尝试制作一个 cronjob 脚本,它将获取 MS Access 数据库 (*.mdb) 中的条目并更新服务器上的 sql 数据库。我找到的脚本会删除表并将它们替换为 mdb 文件中的表。

#!/bin/bash    
TABLES=$(mdb-tables -1 $1)

MUSER="cloyd"
MPASS="******"
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

我尝试在 ID 上向表中添加唯一键并删除删除表部分,但它只是没有更新表。

【问题讨论】:

  • 这是mysql还是sql server?它们不是一回事。
  • mysql.如果这让我感到困惑,我很抱歉,我是一个新海报,它建议了这些标签。

标签: mysql bash ms-access mdbtools


【解决方案1】:

我想通了。我正在使用 mysqlimport,它似乎工作得更好。

    #!/bin/bash

    TABLES=$(mdb-tables -1 $1)

    MUSER="cloyd"
    MPASS="************"
    MDB="$2"

    MYSQL=$(which mysql)


    for t in $TABLES
    do
        mdb-export -D '%Y-%m-%d %H:%M:%S' -Q $1 $t > $t.csv
        mysqlimport --fields-terminated-by=, --silent --local --replace --ignore-lines=1 --user=cloyd --password=**** timesystem $t.csv
    done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-20
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 2012-11-21
    相关资源
    最近更新 更多