我知道的有三種方法:\x0d\x0a1、如果數(shù)據(jù)量不大且沒有大對(duì)象(圖片,文件什么的)且使用pl/sql developer做oracle管理工具的話,可以直接復(fù)制粘貼,操作方法是先按照列的先后順序把EXCEL中數(shù)據(jù)排好,在第一個(gè)字段前面加一空白列(這部很重要,否則字段就會(huì)不對(duì)應(yīng)了),pl/sql developer中執(zhí)行下select * from 表名 for update,使得你的表可以編輯,然后點(diǎn)一下像鎖一樣的那個(gè)圖標(biāo)(鼠標(biāo)放上去會(huì)顯示編輯數(shù)據(jù)四個(gè)字),復(fù)制excel中的數(shù)據(jù)(包括空白列),最后直接在表中空白行的地方粘貼就行了,操作很簡單。\x0d\x0a2、使用外部程序編程實(shí)現(xiàn),如c#,java,以c#為例,先將excel解析成datatable,然后逐行遍歷入庫即可。\x0d\x0a3、使用工具XlsToOra.exe,只要配置一下登陸進(jìn)去后,設(shè)置一下導(dǎo)入的表名,列與excel中列的對(duì)應(yīng)關(guān)系就可以導(dǎo)入了。\x0d\x0a4、可以將excel轉(zhuǎn)換成csv文件再利用文本導(dǎo)入器(工具-文本導(dǎo)入器)導(dǎo)入即可。\x0d\x0a以上是個(gè)人使用過的一些方法, 難免有不完美之處,歡迎指正探討^_^
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、朝天網(wǎng)站維護(hù)、網(wǎng)站推廣。
實(shí)現(xiàn)的方法和詳細(xì)的操作步驟如下:
1、第一步,如果要從Oracle實(shí)例orcl導(dǎo)出多個(gè)dmp文件表,則在打開cmd窗口后,首先設(shè)置環(huán)境變量以將Oracle實(shí)例切換為orcl(設(shè)置ORACLE_SID
= orcl),然后登錄到sqlplus
,如下圖所示,然后進(jìn)入下一步。
2、其次,完成上述步驟后,可以使用sql語句“select *?from?dba_directories”以查看當(dāng)前實(shí)例下可用的dmp導(dǎo)出目錄。
導(dǎo)出dmp文件時(shí),可以選擇其中之一,如下圖所示,然后進(jìn)入下一步。
3、接著,完成上述步驟后,退出sqlplus并使用命令“expdp”導(dǎo)出需要的數(shù)據(jù)庫表dmp文件,如下圖所示,然后進(jìn)入下一步。
4、最后,完成上述步驟后,就可以將該文件導(dǎo)入實(shí)例orcl中的另一個(gè)用戶,如下圖所示。這樣,問題就解決了。
--空表不能導(dǎo)出是因?yàn)?1g中的不曾插入數(shù)據(jù)的空表是不分配存儲(chǔ)單元的,當(dāng)前用戶下直接執(zhí)行:select
'alter
table
'||table_name||'
allocate
extent;'
from
user_tables
where
num_rows=0,得到的結(jié)果是“‘給當(dāng)前用戶下的空表分配空間’的語句”,導(dǎo)出或復(fù)制這些語句,直接執(zhí)行這些語句,然后再次執(zhí)行導(dǎo)出語句,就能導(dǎo)出所有表(包含空表),直接導(dǎo)入就好了,就會(huì)包含所有空表
我給你一些數(shù)據(jù)庫常用的導(dǎo)入導(dǎo)出命令吧:\x0d\x0a該命令在“開始菜單運(yùn)行CMD”中執(zhí)行\(zhòng)x0d\x0a一、數(shù)據(jù)導(dǎo)出(exp.exe)\x0d\x0a1、將數(shù)據(jù)庫orcl完全導(dǎo)出,用戶名system,密碼accp,導(dǎo)出到d:\daochu.dmp文件中\(zhòng)x0d\x0aexp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、將數(shù)據(jù)庫orcl中scott用戶的對(duì)象導(dǎo)出\x0d\x0aexp scott/accp@orcl file=d:\daochu.dmp owner=(scott)\x0d\x0a\x0d\x0a3、將數(shù)據(jù)庫orcl中的scott用戶的表emp、dept導(dǎo)出\x0d\x0aexp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)\x0d\x0a\x0d\x0a4、將數(shù)據(jù)庫orcl中的表空間testSpace導(dǎo)出\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)\x0d\x0a\x0d\x0a二、數(shù)據(jù)導(dǎo)入(imp.exe)\x0d\x0a1、將d:\daochu.dmp 中的數(shù)據(jù)導(dǎo)入 orcl數(shù)據(jù)庫中。\x0d\x0aimp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、如果導(dǎo)入時(shí),數(shù)據(jù)表已經(jīng)存在,將報(bào)錯(cuò),對(duì)該表不會(huì)進(jìn)行導(dǎo)入;加上ignore=y即可,表示忽略現(xiàn)有表,在現(xiàn)有表上追加記錄。\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y\x0d\x0a\x0d\x0a3、將d:\daochu.dmp中的表emp導(dǎo)入\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp tables=(emp)