2008-10-28 51 views
3

我有一個問題,並希望我可以依靠這裏的一些經驗來獲得建議和推動正確的方向。我有一個由專有軟件製作的MS Access文件。我只想從該表中取出一半列,然後導入到新的(尚未安裝的)mysql數據庫中。自動將DB5訪問到MySQL

我不知道如何做到這一點,或者最好的方法是什麼。新的數據將在每晚獲得,並再次導入,作爲自動任務。

訪問數據庫中的一列是一個到jpeg文件的url,我想要下載這個文件並自動將它導入到數據庫中作爲BLOB類型。

有沒有辦法自動做到這一點?這將在Windows機器上,所以也許它可以用WSH編寫腳本?

回答

5

這是一個bash腳本使用mdbtools用於從mdb文件到MySQL自動提取和進口linux的例子。

#!/bin/bash 

MDBFILE="Data.mdb" 

OPTIONS="-H -D %y-%m-%d" 
mdb-export $OPTIONS $MDBFILE TableName_1 > output_1.txt 
mdb-export $OPTIONS $MDBFILE TableName_2 > output_2.txt 

mdb-export $OPTIONS $MDBFILE TableName_n > output_n.txt 

MYSQLOPTIONS=' --fields-optionally-enclosed-by=" --fields-terminated-by=, -r ' 
mysqlimport $MYSQLOPTIONS -L -uuser -ppasword database output_1.txt 
mysqlimport $MYSQLOPTIONS -L -uuser -ppasword database output_2.txt 
mysqlimport $MYSQLOPTIONS -L -uuser -ppasword database output_n.txt 

你可以使用一些其他的選項mysqlimport的: --delete:從目標MySQL表中刪除以前的數據。 --ignore:忽略重複項 - 替換:如果發現重複,則替換

這不是Windows解決方案,但我希望它有幫助。

+0

謝謝你的回答, 你能澄清一點,我會替換TableName與我想要的所有表名嗎?它會確保數據不會被導入兩次? – 2008-10-28 12:33:38