近日,本人為了將為公司開發的一個資訊管理系統從以前試啟動並執行開發機器上(Windows NT IIS4.0 Access)遷移至一台真正的Linux伺服器上(Apache1.3.12 PHP 4.03 MySQL 3.23.26),其中資料庫中的幾十個表的內容遷移,開始讓我小費了一些周折,從網上也下載了一些MySqL的客戶軟體或是資料庫管理軟體,寫得較好的軟體均有資料移轉功能,但其遷移方式不外乎兩種,一種是採用檔案引入方式,此種方式在處理資料庫中有和分隔字元相同的字元時,會產生錯誤,尤其是在處理ACCESS中的Memo欄位,很容易出錯,最後導致匯出後的資料不是多了就是少了。而另一種支援ODBC直接匯入的功能較強,基本可無錯誤地匯入各個表的內容,但很遺憾,這必須是建立在ACCESS中表格的欄位是英文是才可以,如在ACCESS中欄位是中文名,一般也出錯,不能成功匯入。
為此我只好花了點時間寫了兩個小程式,用於將ACCESS資料庫的內容向MySQL遷移,經使用,效果還不錯,特在此寫出奉獻給各位一試或評判。
先概述一下使用方法,
1,將ACCESS的資料庫建立一個"system DSN";
2,根據ACCESS資料庫中各表的名稱,在MySQL中建立相應的各個空表;
3,運行fdlist.php;
4,運行import.php;
5,每運行一次3,4步可遷移一個表,然後修改fdlist.php中的ACCESS源表名和MySQL中的目標表名,再運行3,4步,直至遷移所有的表,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下為 fdlist.php來源程式
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$dbconnection = @mysql_connect("yourmysqlserver", "mysqlaccount", "mysqlpassword")
or die ("can not connect to database server");
@mysql_select_db("yourdatabase")
or die("
No Database,
") ;
$odbc_table = "youroriginaltable" ; // The original table name in your ODBC database
http://www.bkjia.com/PHPjc/631218.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631218.htmlTechArticle近日,本人為了將為公司開發的一個資訊管理系統從以前試啟動並執行開發機器上(Windows NT IIS4.0 Access)遷移至一台真正的Linux伺服器上(Apache1...