0

FreeBSDでmdb-toolsを使用して、 Microsoft Access DBMySQLに変換しています。

スクリプトは次のようになります ( to_mysql.sh):

#!/usr/local/bin/bash
echo "DROP TABLE IF EXISTS Student;"

mdb-schema -T Student $1 mysql

mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 Student

そして、私はそれを次のように使用しています:

./to_mysql.sh accessDb.MDB > data.sql

問題はGUID、mdb の (2 番目の列) がすべての行で変更されることです。

アクセス DB では、1 つの行は次のようになります。

|{D115266B-D5A3-4617-80F8-7B80EE3022DA}|2013-06-11 08.54.14|2015-12-17 14.57.01|2|2||||||0|111111-1111||Nameson|名前|||||3|||SA|0||||0|ガタン 2|222 22|1234 567

上記のスクリプトを使用して MySQL に変換すると、次のようになります。

INSERT INTO `Student` (
    `UsedFields`,`GUID`,`Changed`,`ChangedLesson`,`AccessInWebViewer`,`VisibleInWebViewer`
    ,`PasswordInWebViewer`,`Language`,`UserMan`,`SchoolID`,`Owner`,`DoNotExport`
    ,`Student`,`Category`,`LastName`,`FirstName`,`Signature`,`Sex`
    ,`Phone`,`SchoolType`,`Grade`,`EMail`,`Program`,`IgnoreLunch`
    ,`ExcludedTime`,`Individual timetable`,`Adress(TEXT) `,`Postnr(TEXT) `
    ,`Ort(TEXT) `
    )
VALUES (
    NULL,"{266bd115-d5a3-4617-f880-807b30eeda22}","2013-06-11 08:54:14"
    ,"2015-12-17 14:57:01",2,2,NULL,NULL,NULL,NULL,NULL,0,"111111-1111"
    ,NULL,"Nameson","Name ",NULL,NULL,NULL,NULL,"3",NULL,"SA"
    ,0,NULL,0,"Gatan 2","222 22","1234 567"
    );

GUID 列を除いてすべて正しいです。次から変更されます。

{D115266B-D5A3-4617-80F8-7B80EE3022DA}

{266bd115-d5a3-4617-f880-807b30eeda22}

すべての文字が並べ替えられているように見えますが、その理由はわかりません。

これを防ぐ理由と方法を知っている人はいますか?

ありがとうございました!

4

1 に答える 1