xml导入数据库
来源:互联网 发布:mac打开关闭的网页 编辑:程序博客网 时间:2024/06/05 07:22
/*** CREATE TEMP TABLE ***/
CREATE TABLE REF_CITY_RECORD(
ACTION VARCHAR2(1),
CODE_AREA VARCHAR2(100),
CODE_LOC VARCHAR2(50),
CODE_CITY VARCHAR2(100),
CITY_DESC VARCHAR2(100),
CITY_DESC_BIG5 VARCHAR2(100),
STATUS VARCHAR2(10));
CREATE TABLE REF_ANNUAL_TURNOVER_RECORD(
ACTION VARCHAR2(1),
CODE_ANNUAL_TURNOVER VARCHAR2(10),
ANNUAL_TURNOVER_DESC VARCHAR2(50),
ANNUAL_TURNOVER_DESC_BIG5 VARCHAR2(100),
STATUS VARCHAR2(100));
/**** END ****/
DECLARE
QRYCTX DBMS_XMLGEN.CTXHANDLE;
dst_loc CLOB;
SAVCTX DBMS_XMLSAVE.CTXTYPE;
N NUMBER;
src_loc bfile := bfilename('UTL_FILE_DIR', '20080421170247_000004.xml');
-- DATES_01_REFEREENCE_20080421170247_000004.XML SHOULD BE PLACE UTL_FILE_DIRECTORY
amt number := dbms_lob.lobmaxsize;
src_offset number := 1;
dst_offset number := 1;
lang_ctx number := dbms_lob.default_lang_ctx;
warning number;
v_exists PLS_INTEGER := 0;
--v_rowtag VARCHAR2(30) := 'REF_CITY_RECORD';
BEGIN
DBMS_LOB.CREATETEMPORARY(dst_loc, true);
DBMS_OUTPUT.PUT_LINE('------------ LOB LOADCLOBFORMFILE EXAMPLE ------------');
dbms_lob.fileopen(src_loc, dbms_lob.file_readonly);
v_exists := DBMS_LOB.fileexists(src_loc);
IF v_exists = 0 THEN
dbms_output.put_line('FILE NOT EXIST');
ELSE
dbms_output.put_line('FILE AND DIR VALID');
END IF;
dbms_lob.LOADCLOBFROMFILE(dst_loc,
src_loc,
amt,
dst_offset,
src_offset,
dbms_lob.default_csid,
lang_ctx,
warning);
dbms_output.put_line(' Amount specified ' || amt);
dbms_output.put_line(' Number of bytes read from source: ' ||
(src_offset - 1));
dbms_output.put_line(' Number of characters written to destination: ' ||
(dst_offset - 1));
if (warning = dbms_lob.warn_inconvertible_char) then
dbms_output.put_line('Warning: Inconvertible character');
end if;
dbms_lob.filecloseall();
-- DBMS_OUTPUT.PUT_LINE(dst_loc);
SAVCTX := DBMS_XMLSAVE.NEWCONTEXT('REF_CITY_RECORD');
DBMS_XMLSAVE.CLEARUPDATECOLUMNLIST(SAVCTX);
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'ACTION');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'CODE_AREA');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'CODE_LOC');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'CODE_CITY');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'CITY_DESC');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'CITY_DESC_BIG5');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'STATUS');
DBMS_XMLSAVE.setRowTag(SAVCTX, 'REF_CITY');
--DBMS_XMLSave.setDateFormat(SAVCTX, 'dd/MM/yyyy HH24:mm:ss');
N := DBMS_XMLSAVE.INSERTXML(SAVCTX, dst_loc);
DBMS_OUTPUT.PUT_LINE('REF_CITY_RECORD RECORD: ' ||N);
SAVCTX := DBMS_XMLSAVE.NEWCONTEXT('REF_ANNUAL_TURNOVER_RECORD');
DBMS_XMLSAVE.CLEARUPDATECOLUMNLIST(SAVCTX);
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'ACTION');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'CODE_ANNUAL_TURNOVER');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'ANNUAL_TURNOVER_DESC');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'ANNUAL_TURNOVER_DESC_BIG5');
DBMS_XMLSAVE.SETUPDATECOLUMN(SAVCTX, 'STATUS');
DBMS_XMLSAVE.setRowTag(SAVCTX, 'REF_ANNUAL_TURNOVER');
N := DBMS_XMLSAVE.INSERTXML(SAVCTX, dst_loc);
DBMS_OUTPUT.PUT_LINE('REF_ANNUAL_TURNOVER_RECORD RECORD : ' ||N);
DBMS_XMLSAVE.CLOSECONTEXT(SAVCTX);
COMMIT;
exception when others then
rollback;
dbms_output.put_line(substr(sqlerrm,1,200));
END;
/
- xml,excel导入数据库
- xml导入数据库
- XML数据导入数据库
- XML 导入导出数据库
- oracle将xml导入数据库
- Xml数据导入MySQL数据库
- asp.net XML导入SQL数据库
- asp.net SQL数据库导入到XML
- asp.net XML导入数据库(3)
- asp.net SQL数据库导入到XML
- Dom4j+PLSQL XML文件导入数据库
- Xml数据导入MySQL,SQLite等数据库
- 将XML文件导入到Oracle数据库中
- 5.1将Excel转化为XML导入数据库之一
- 5.1将Excel转化为XML导入数据库之二
- java 将 txt、excel 、xml 文档导入数据库
- 从数据库中取出数据导入到xml中的方法
- 用sqlserver过程把xml文件导入数据库
- 如何提高数据库查询速度 (摘录)
- 谢亚龙与刘翔的对话
- 快速掌握Sybase SQL Server的体系结构
- 利用Keep-Alive处理Socket网络异常断开的方法
- sql 问题 select permission denied on object 'pb_userinfo',database 'Maching',owner'ado' 解决方法
- xml导入数据库
- 视频服务器集群技术及应用(下)
- FarPoint FpSpread控件的使用心得
- MYSQL Error 2006:MySQL server has gone away的解决方案
- 如何学习WebDynpro
- find命令
- XML基础理论
- csdn恢复使用
- oracle高版本向低版本导数据