Jquery中文網 www.prqmtc.live
Jquery中文網 >  數據庫  >  oracle  >  正文 將Oracle數據導入MySQL的方法

將Oracle數據導入MySQL的方法

發布時間:2014-07-20   編輯:www.prqmtc.live
將Oracle數據導入MySQL的方法

    我們可以使用MySQL Migration Toolkit快速將Oracle數據導入MySQL。

    近來筆者有項目需要將原有的Oracle數據庫中的數據導入到MySQL中,經過試用發現MySQL GUI Tools中的MySQL Migration Toolkit可以非常方便快捷的將Oracle數據導到MySQL中,特別是對CLOB、BLOB類型的數據也有非常好的支持。

    下面我們來學習MySQL Migration Toolkit的使用,該軟件可以在http://dev.mysql.com/downloads/gui-tools/5.0.html處下載到。

    1、 運行MySQL Migration Toolkit,一路“Next”到“Source Database”,在Database System中選擇Oracle Database Server,如果第一次使用會告之要求加載驅動程序ojdbc14.jar。
oracle-a href=http://www.prqmtc.live/db/mysql/ target=_blank class=infotextkeymysql/a-1
    加載驅動程序之后,界面將變成如下的形式,在其中填寫Oracle數據庫的連接信息,按“Next”繼續。
oracle-mysql-2
 
    2、 在Target Database中默認Database System為MySQL Server,在Connection Parameters中填寫相應的MySQL數據庫的連接信息,按“Next”繼續。
oracle-to-mysql-3

    3、進行數據庫連接測試,測試通過后按“Next”到Source Schemata Selection,點選準備進行數據遷移的Schemata后按“Next”繼續。

    4、在Object Type Selection,點Detailed selection按鈕,在下方左側列表中選擇不進行遷移的表,將其放入右側列表中,即左側列表剩余的表都將進行數據遷移。選擇好之后按“Next”繼續。

    5、在Object Mapping的Migration of type Oracle Schema,如果要設置參數,點Set Parameter按鈕。如果默認數據庫表為UTF8的話,則選擇Multilanguage;如果默認數據庫表為GBK的話,則需要選擇User defined,并在下方填寫charset=gbk, collation=gbk_general_ci。Migration of type Oracle Table中要設置參數點Set Parameter按鈕。如果默認數據庫表為UTF8的話,則選擇Data consistency/multilanguage;如果默認數據庫表為GBK的話,則需要選擇User defined,并在下方填寫addAutoincrement=yes, charset=gbk, collation=gbk_general_ci, engine=INNODB。選擇好之后按“Next”繼續。

    6、再到Manual Editing,在這里可以修改建表腳本。由于Oracle與MySQL之間語法規則的差異,通常需要對腳本的數據類型以及默認值進行調整,比如Oracle中通常會對Timestamp類型的數據設置默認值sysdate,但在MySQL中是不能識別的。在Filter中選擇Show All Objects,然后在Migrated Objects中選擇要修改腳本的表,再點擊左下方的Advanced就可以進行腳本編輯了。修改完之后點擊右側Apply Changes按鈕保存,按“Next”繼續。

   7、然后一路“Next”,如果沒有提示出錯的話,就可以將指定表中的數據導入MySQL了。如果有提示出錯信息,則需要返回到Manual Editing處對腳本重新進行修改。

    需要補充一點,在導大容量數據特別是CLOB數據時,可能會出現異常:“Packets larger than max_allowed_packet are not allowed”。這是由于MySQL數據庫有一個系統參數  max_allowed_packet,其默認值為1048576(1M),可以通過如下語句在數據庫中查詢其值:
show VARIABLES like '%max_allowed_packet%';

    修改此參數的方法是在mysql文件夾找到my.ini文件,在my.ini文件[mysqld]中添加一行:
max_allowed_packet=16777216
   重啟MySQL,這樣將可以導入不大于16M的數據了,當然這數值可以根據需要作調整。

您可能感興趣的文章:
將Oracle數據導入MySQL的方法
導出mysql 數據結構的例子
jdbc連接oracle數據庫方法
phpmyadmin導入大數據庫文件時問題的解決方法
oracle 備份命令參考
MySQL常用配置方法
oracle 中文亂碼的解決方法(win2003環境)
mysql提示MySQL server has gone away導入時報錯2006錯誤
Mysqldump和Source命令用法詳解
將明文密碼批量導入進mysql數據庫的代碼

[關閉]
一分赛车计划app 半全场 世界杯在哪里投注 网上打小麻将是赌博吗 真钱官方网站 即时比分大赢家体育 腾讯分分彩波动值计算 甘肃天水麻将馆能开吗 190aa即时比分指数kk 球探篮球比分即时足球比分 炸金花玩法 网上棋牌赌博送10元 两肖两码中特期期大公开