用sqlserver2000自帶的導入導出數據工具,將access表中的數據導入到oracle中去
下面是我在一個人的博客中找到的注意事項,你可以看一看
1.導入的時候access中的表名必須是大寫的,否則導進去之後,因為sqlplus運行到後台的時候會把所有字元自動變為大寫,而oracle大小寫敏感,所以生成的小寫表無法訪問,你用toad或DBARtsion也是白搭
2.表中的欄位名稱比如user之類的改進改名,很有可能就會因為這個卡掉,得重新導
3.注意資料庫中的數據,有可能會出現因為數據導致導入一半後卡住,出現這種問題的時候多半是因為備注轉化為的對象類型不對
4.ACCESS中的備注問題,這個是個頭疼的問題,真tm頭疼,剛開始我用OLE
DB方式連接資料庫,備注默認轉化的oracle數據類型為LONG,但是TNND每張oracle表中最多隻有一個LONG類型的欄位,(古怪的規定~!我找了半天沒找到原因),琢磨了半天後決定舍棄(當初選OLE
DB是受頁面裡面OLE
DB連接比ODBC連接先進點的觀點影響。。),改用ODBC,這里連接資料庫的時候有幾種方法,我選的是用定義好的文件來連接,在生成文件的時候一定要注意,用戶名和密碼必須是大寫的,不然的時候你就等著哭吧,然後配連接好的,執行導入,我第一遍的時候就相當成功,但是後來因為插錯數據和表格,又懶的刪只好刪掉用戶重新導,一模一樣的數據,就是用戶名變了,nnd就報了n多錯誤,備注自動生成的方式是CLOB,我們ACCESS資料庫表中還有個OLE對象類型的,自動轉化為BLOB類型,在頁面上不能直接用通俗的方法獲取rs讀CLOB,要是這樣寫,一準報錯,這個問題一直沒解決。。從網上找了些資料,有種說將對象分割拿出來,但太麻煩了,能生成一個完整的結果集就不錯了。。還有迭代,我們哥倆商量了半天准備用VARCHAR2(2000)替代,結果頁面報錯。
② 如何將數據導入oracle資料庫
1、 運行MySQL Migration Toolkit,一路「Next」到「Source Database」,在Database System中選擇Oracle Database Server,如果第一次使用會告之要求載入驅動程序ojdbc14.jar。
載入驅動程序之後,界面將變成如下的形式,在其中填寫Oracle資料庫的連接信息,按「Next」繼續。
2、 在Target Database中默認Database System為MySQL Server,在Connection Parameters中填寫相應的MySQL資料庫的連接信息,按「Next」繼續。
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創建用戶後怎麼導入資料庫
資料庫用戶的創建、許可權的分配
資料庫安裝完成後,有兩個系統級的用戶:
system 默認密碼為:manager
sys 默認密碼為:change_on_install
在安裝的資料庫目錄中找到 \oracle\proct\9.2\bin 中的sqlplus程序, 運行:./sqlplus system/manager@ora9i
用system用戶創建自己的用戶、許可權;sql語句如下:
1、創建用戶:
create user username identified by pwd default tablespace users Temporary TABLESPACE Temp;
2、 用戶授權 grant connect,resource,dba to business;
3、 提交: commit;
資料庫數據的導入,導出
假設有兩個資料庫 9.0.1 與 9.0.2 1.導出數據
exp system用戶/system的密碼@伺服器名 owner用戶名=「oradial 」 file="oradial.dmp"
說明:
(1) 如果該命令是在本地執行,則不用指定伺服器名
(2) owner用戶名,通過sys用戶的登錄所創建的用戶名。同時授予的許可權包括
connect , dba , resource ,還要創建表空間。
(3) system用戶名,owner用戶名 是9.0.1資料庫中的用戶 2.導入數據
imp system用戶/system的密碼@伺服器名 file=oradial.dmp fromuser(用戶名)=oradial touser(用戶名)=abc
若了解更多詳情,在DOS下輸入 exp help = y imp help = y