国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

oracle的文本導(dǎo)入、導(dǎo)出技巧

瀏覽:94日期:2023-11-26 19:42:02

在使用Oracle時,總覺得oracle的導(dǎo)入,導(dǎo)出沒有informix的load,unload好用,沒辦法,只能參照網(wǎng)上朋友的思路和informix的實現(xiàn),寫了幾個腳本,希望各位高手指點: ============================================= 工具用法: unload.sh Usage:;unload.sh;userid/passwd[@oraclesid];[tabname] 注釋: 假如不加’@oraclesid’,則用當(dāng)前環(huán)境變量ORACLE_SID。 假如不加tabname參數(shù),則處理該用戶下的所有表,生成’表名.unl’文件。 ;;;;假如加tabname參數(shù),則單獨(dú)處理該表,生成’表名.unl’文件。 load.sh Usage:;load.sh;userid/passwd[@oraclesid];[tabname] 注釋: 假如不加’@oraclesid’,則用當(dāng)前環(huán)境變量ORACLE_SID。 假如不加tabname參數(shù),則裝載該用戶下的所有表,必須存在’表名.unl’ 文件。 假如加tabname參數(shù),則單獨(dú)處理該表,必須存在’表名.unl’文件。 ============================================= 具體實現(xiàn): unload.sh 利用spool的功能,將表中的數(shù)據(jù)導(dǎo)出到對應(yīng)的文本中。 load.sh 利用sql*load的功能,將文本中的數(shù)據(jù)導(dǎo)入到表中。 ;;;控制文件是自動生成的,使用者不需要知道格式 ;;;執(zhí)行sqlload的腳本也是自動生成 generate_control_file.sh 生成控制文件 generate_execute_shell.sh 生成執(zhí)行腳本 ============================================= 代碼說明 load.sh ============================================= #!/usr/bin/ksh ################################################################################ # #;;?&&é:load.sh # #;;?èê&:&ù?Yò&&&ê&?Y&&&ò±í?&à&×°??&?ó&&?ê&?Y???& # #;;2?ê&;1;=;ó?&§?&/?ü?&[@ê&à&?&] #;;2?ê&;2;=;±í?&(&é?& # #;;×÷?&;Bing;He # #;;DT&????? #;;;;è??úDT&?è?;;;DT&??èê& # #;;09/23/2003;;;Bing;He;;;;;;;&&ê?±àD& # ################################################################################ lv_temp1="wk.test1" f_get_tables() { rm;-f;${lv_temp1} sqlplus;${userid};<<!;>/dev/null set;colsep;$sep; set;echo;off; set;feedback;off; set;heading;off; set;pagesize;0; set;linesize;1000; set;numwidth;12; set;termout;off; set;trimout;on; set;trimspool;on; spool;${lv_temp1}; select;table_name;from;user_tables; spool;off; exit ! if;[;"$?";-ne;0;] then ;;echo;"Error:sqlplus;${userid};error;in;load;for;${userid};!" ;;echo;"please;check;userid;and;passwd;or;oracle_sid." ;;exit fi if;[;-f;${lv_temp1};] then ;;lv_tables=`cat;${lv_temp1};grep;-v;"^SQL>";;tr;-d;';'` else ;;echo;"Error:${lv_temp1};file;not;found!" ;;exit fi rm;-f;${lv_temp1} } ################################################################################ ##;?÷3ìDòè&&ú lv_no=$# case;${lv_no};in ;;1;oracle的文本導(dǎo)入、導(dǎo)出技巧 userid=$1 f_get_tables; ;;2;oracle的文本導(dǎo)入、導(dǎo)出技巧 userid=$1 lv_tables=$2 ;;*;oracle的文本導(dǎo)入、導(dǎo)出技巧 echo;"Usage:;$0;<userid/passwd[@connection]>;<table_name>" exit esac for;lv_table;in;${lv_tables} do ;;if;[;!;-f;${lv_table}.unl;] ;;then ;;;;;;echo;"Error:${lv_table}.unl;file;not;found!" ;;else ;;;;;;generate_control_file.sh;${userid};${lv_table}; ;;;;;;generate_execute_shell.sh;${userid};${lv_table} ;;;;;;sh;load_${lv_table}.sh ;;;;;;rm;-f;${lv_table}.ctl ;;;;;;rm;-f;load_${lv_table}.sh ;;fi done ################################################################################ ============================================= unload.sh ============================================= #!/usr/bin/ksh ################################################################################ # #;;?&&é:unload.sh # #;;?èê&:&ù?Yò&&&ê&?Y&&&ò±í?&à&D&??ê&?Y2&éú3é&?ó&&?ê&?Y???& # #;;2?ê&;1;=;ó?&§?&/?ü?&[@ê&à&?&] #;;2?ê&;2;=;±í?&(&é?&oracle的文本導(dǎo)入、導(dǎo)出技巧 # #;;×÷?&;Bing;He # #;;DT&????? #;;;;è??úDT&?è?;;;DT&??èê& # #;;09/23/2003;;;Bing;He;;;;;;;&&ê?±àD& # ################################################################################ lv_sep='';#;--·?&&·&&&&éò?DT&?3é×??&?&ò&&?·?&&·&&&è&''; lv_temp1="unload.temp1" f_get_tables() {; ;;rm;-f;${lv_temp1} ;;sqlplus;${userid};<<!;>/dev/null ;;set;colsep;${lv_sep};;set;echo;off;;set;feedback;off;;set;heading;off;;set;pagesize;0;;set;linesize;1000;;set;numwidth;12;;set;termout;off;;set;trimout;on;;set;trimspool;on;;spool;${lv_temp1};;select;table_name;from;user_tables;;spool;off;;exit ! ;;if;[;"$?";-ne;0;];;;then; ;;;;echo;"sqlplus;$userid;error;in;get;table;name;<"$?">!!" ;;;;echo;"please;check;userid;and;passwd;or;database." ;;;;exit; ;;fi; if;[;-f;${lv_temp1};] then ;;lv_tables=`cat;${lv_temp1};grep;-v;"^SQL>";;tr;-d;';'` else ;;echo;"Error:${lv_temp1};file;not;found!" ;;exit fi rm;-f;${lv_temp1} } ################################################################ ##;?÷3ìDòè&&ú lv_no=$# case;${lv_no};in ;;1;oracle的文本導(dǎo)入、導(dǎo)出技巧 userid=$1 f_get_tables; ;;2;oracle的文本導(dǎo)入、導(dǎo)出技巧 userid=$1 lv_tables=$2 ;;*;oracle的文本導(dǎo)入、導(dǎo)出技巧 ; echo;"Usage:;$0;<userid/passwd[@connection]>;<table_name>" exit esac ################################################################ ################################################################ ##;?&DD????2ù×÷ for;table;in;${lv_tables}; do; ;;rm;-f;lv_$table.txt; ;;sqlplus;${userid};<<!;>/dev/null ;;set;colsep;${lv_sep};;set;echo;off;;set;feedback;off;;set;heading;off;;set;pagesize;0;;set;linesize;1000;;set;numwidth;12;;set;termout;off;;set;trimout;on;;set;trimspool;on;;spool;lv_$table.txt;;select;*;from;$table;;spool;off! ;;if;[;"$?";-ne;0;] ;;then; ;;;;echo;"error:sqlplus;$userid;error;in;unload;table;$table!!" ;;;;echo;"please;check;userid;and;passwd;or;database.";;;exit; ;;fi; ;;if;[;-f;lv_$table.txt;] ;;then; ;;;;cat;lv_$table.txt;;grep;-v;"^SQL>"sed;-e;"s/;*$//g"sed;"s/$//g"sed;-e;"s/;*//g";>${table}.unl ;;;;if;[[;`grep;"ORA-";$table.unl`;=;"";]];;then; ;;;;;;echo;"unload;table;${table}....ttttt;ok";;;else; ;;;;;;cat;${table}.unl; ;;;;;;err="$err;${table}";;;fi; ;;else; ;;;;echo;$0;error; ;;fi; ;;rm;-f;lv_$table.txt; done; ################################################################ ################################################################ ##;?áê&2ù×÷ if;[[;"X$err";=;"X";]];then; ;;echo;"Unload;Complete!,Thank;you!" else; ;;echo;"Unload;Table;$err;error,;please;check;it!"fi ################################################################ ============================================= generate_control_file.sh ============================================= #!/usr/bin/ksh ################################################################################ # #;;?&&é: generate_control_file.sh # #;;?èê&: &ù?Yò&&&±í?&éú3é&?±í&?&??????& # #;;2?ê&;1;=;ó?&§?&/?ü?&[@ê&à&?&] #;;2?ê&;2;=;±í?& # #;;×÷?&;Bing;He # #;;DT&????? #;;;;è??úDT&?è?;;;DT&??èê& # #;;09/23/2003;;;Bing;He ;;;;;;&&ê?±àD& # ################################################################################ ################################################################################ ##;?÷3ìDòè&&ú if;[;!;$#;-eq;2;] then; ;;echo;"Usage:;$0;<userid/passwd[@connection]>;<table_name>";exit; else; ;;userid=$1; ;;table=$2 fi; ################################################################################ ################################################################################ ##;?&DD????2ù×÷ lv_temp="wk_${table}.test" lv_temp1="wk_${table}.test1" lv_temp2="wk_${table}.test2" lv_control="${table}.ctl" sqlplus;${userid};<<!;>/dev/null; spool;${lv_temp}desc;${table} spool;offexit ! if;[;"$?";-ne;0;] then; ;;echo;"Error:sqlplus;${userid};error;in;generate;control;file;for;table;${table};!" ;;echo;"please;check;userid;and;passwd;or;oracle_sid.";exit; fi; if;[;-f;${lv_temp};] then; ;;;;cat;${lv_temp}grep;-v;"^SQL>";grep;-v;";Name;;;";grep;-v;";-------";awk;'{print;$1}';>;${lv_temp1} ;;;;lv_line_num=`cat;${lv_temp1};;wc;-l` ;;;;lv_line_num=`eXPr;${lv_line_num};-;2` ;;;;lv_index=0 ;;;;rm;-f;${lv_temp2} ;;;;for;lineinfo;in;`cat;${lv_temp1}` ;;;;do ;;;;;;if;[;${lv_index};-eq;${lv_line_num};] ;;;;;;then ;;echo;"${lineinfo}";>>;${lv_temp2} ;;;;;;else ;;echo;"${lineinfo},";>>;${lv_temp2} ;;lv_index=`expr;${lv_index};+;1` ;;;;;;fi ;;;;done else; ;;;;echo;"$0;error;:not;find;${lv_temp};file." ;;;;exit fi; lv_str="LOAD;DATA;INFILE;'${table}.unl';BADFILE;'bad_${table}.bad';APPEND;INTO;TABLE;${table};FIELDS;TERMINATEd;BY;""" echo;${lv_str};>;${lv_control} echo;"(";;;;;;>>;${lv_control} cat;;${lv_temp2};>>;${lv_control} echo;")";;;;;;>>;${lv_control} rm;-f;${lv_temp} rm;-f;${lv_temp1} rm;-f;${lv_temp2} ################################################################################ ============================================= generate_execute_shell.sh ============================================= #!/usr/bin/ksh ################################################################################ # #;;?&&é:generate_execute_shell.sh # #;;?èê&:&ù?Yò&&&±í?&éú3é&?±í&?×°????±? # #;;2?ê&;1;=;ó?&§?&/?ü?&[@ê&à&?&] #;;2?ê&;2;=;±í?& # #;;×÷?&;Bing;He # #;;DT&????? #;;;;è??úDT&?è?;;;DT&??èê& # #;;09/23/2003;;;Bing;He;;;;;;;&&ê?±àD& # ################################################################################ ################################################################################ ##;?÷3ìDòè&&ú if;[;!;$#;-eq;2;] then ;;echo;"Usage:;$0;<userid/passwd[@connection]>;<table_name>" ;;exit else ;;userid=$1 ;;table=$2 fi ################################################################################ ################################################################################ ##;??2&±&á&&¨ò&?&óò lv_rows=10000 lv_bindsize=8192000 lv_readsize=8192000 ################################################################################ ################################################################################ ##;éú3é?&DD??±????& echo;"sqlldr;${userid};control=${table}.ctl;rows=${lv_rows};bindsize=${lv_bindsize};readsize=${lv_readsize};log=log_${table}.log;bad=bad_${table}.bad;direct=true";>;load_${table}.sh ################################################################################ =============================================

標(biāo)簽: Oracle 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 亚洲在线播放 | 日韩视频在线观看一区二区 | 亚洲欧美一区二区久久香蕉 | 男人的天堂久久精品激情 | 国产成人亚洲精品老王 | 中文字幕 亚洲精品 第1页 | 国产一级大片 | 偷拍小视频99在线 | 精品视频在线观看一区二区三区 | 久草视频免费播放 | 成人自拍视频网站 | 亚洲综合天堂 | 国产aⅴ精品一区二区三区久久 | 亚洲最大激情中文字幕 | 亚洲成a人v | 国产高清国产专区国产精品 | 一本久道综合久久精品 | 男女性高爱潮免费的国产 | 男人的天堂视频在线观看 | 亚洲欧美自拍视频 | 综合免费视频 | 色爽爽爽爽爽爽爽爽 | 国产毛片不卡 | 91成人爽a毛片一区二区 | a级国产乱理伦片在线观看国 | 在线观看免费视频国产 | 亚洲国产精品国产自在在线 | 久久久久久久久一级毛片 | 视频在线一区二区三区 | 免费成年网 | 亚洲热视频 | 香蕉久久久久久狠狠色 | 在线天堂视频 | 午夜美女久久久久爽久久 | 亚洲视频在线观看网站 | 26uuu天天夜夜综合 | 国产精品久久久久久久久免费观看 | avtom影院入口永久在线 | 久久性感视频 | 1级毛片| 久久精品国产亚洲高清 |