oracle将xml导入数据库

xml导入Oracle表的简单方法 NULL 博文链接:https://baobaojinjin.iteye.com/blog/1354279 立即下载
将xml导入数据库2007-11-19 05:11 P.M. /*****************************************************************************
过程名称:add_to_stockmarket
参数1:fileName in varchar2 接收用户输入的xml文件名
功能:将xml文件中的数据导入到Stockmarket数据表中
*****************************************************************************/
create or replace procedure add_to_stockmarket(fileName IN varchar2) as
document xmldom.DOMDocument;--声明文档对象模型
subelement xmldom.DOMElement;--声明元素类型
nodelistStock xmldom.DOMNodeList;
nodelistStockChild xmldom.DOMNodeList;
stock_code char(6);--stock字段
stock_name varchar2(30);--stockname字段
stock_shortname varchar(30);--stockshortname字段
stock_buydate date;--stockbuydate字段
recordCountOuter number;--存储xml文档中stock元素的个数
quantity exception;
begin

document:=xmlparser.parse(fileName);--解析xml文档
subelement:=xmldom.getDocumentElement(document);--获得根元素
nodelistStock:=xmldom.getElementsByTagName(subelement,'Stock');
recordCountOuter:=xmldom.getLength(nodelistStock);
for outerCycle in 0..recordCountOuter-1 loop--循环记录信息
nodelistStockChild:=xmldom.getChildNodes(xmldom.item(nodelistStock,outerCycle));
if xmldom.getLength(nodelistStockChild)<>4 then
raise quantity;
end if;
stock_code:=xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(nodelistStockChild,0)));
stock_name:=xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(nodelistStockChild,1)));
stock_shortname:=xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(nodelistStockChild,2)));
stock_buydate:=to_date(xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(nodelistStockChild,3))),'yyyy-fmMM-fmDD HH24:MI:SS');
insert into stockmarket values(stock_code,stock_name,stock_shortname,stock_buydate);
end loop;
commit;
exception
when quantity then
raise_application_error(-20010,'请核对该xml文档与数据库表Stockmarket的结构是否一致,'
||chr(10)||'若仍不能解决问题,请与系统管理员联系!');
end;

导出:
/************************************************************************************************************
存储过程名称:up_exptoxml
参数1:XMLfilepath in varchar2 接收将要生成的文件名(可带路径)
参数2:sqlQuery in varchar2 接收用户输入的查询字符串,默认值为:"select * from stockmarket"
参数3:flag in varchar2 标志位,说明第二个参数的来源(即由用户输入还是来自于文件)默认值:
"sql",即由用户输入
使用方法:
1、默认方式:exec up_exptoxml(xmlfilepath) //将stockmarket表中的数据全部取出
保存到参数xmlfilepath指定的文件中
2、用户指定查询语句方式:
//将用户指定的查询语句所生成的结果集保存到参数xmlfilepath所指定的文件中
1)exec up_exptoxml(xmlfilepath,'select stockname,buydate from stockmarket')

//如果用户认为查询语句过长,直接输入不方便,也可以将语句保存成*.txt文件,
//存储过程执行方式如下:
2)exec up_exptoxml(xmlfilepath,'filepath,filename','file');
该方式下存储过程将指定目录,指定文件中的sql语句读出并执行,将所生成的结果集保存到参数xmlfilepath
所指定的文件中
功能:按照用户要求将查询结果保存为xml文件
************************************************************************************************************/
create or replace procedure up_exptoxml(XMLfilepath in varchar2, sqlQuery varchar2:='select * from stockmarket',flag varchar2:='sql') is
sqlstr_from_file clob;--保存sql查询字符串
document xmldom.DOMDocument;--文档对象
rootelement xmldom.DOMElement;--根元素
stockRecord xmldom.DOMElement;--记录
stockfield xmldom.DOMElement;--字段
l_cursor integer;--存储游标变量返回值
l_col_cot integer;--游标所包含的列数
l_desc_tab dbms_sql.desc_tab;--定义desc_tab类型的集合
tempfield dbms_sql.Varchar2_Table;--定义Varchar2_Table类型的集合
tempdate dbms_sql.Date_Table;--定义Date_Table类型的集合
tempnode xmldom.DOMNode;--定义临时节点
text xmldom.DOMText;--定义文本节点
executenum integer;--存储游标执行返回值
--fieldvalue varchar2(50);
sqlfile utl_file.file_type;
parameter exception;--自定义异常
begin
if upper(flag)<>'SQL'and upper(flag)<>'FILE' then
raise parameter;--如果flag参数不为上述两个选项,则抛出参数异常
elsif upper(flag)='SQL' then
sqlstr_from_file:=sqlQuery;
else
--调用存储过程以读取文件中存放的sql查询字符串
readFile(sqlQuery,sqlstr_from_file);
end if;
l_cursor:=dbms_sql.open_cursor;
dbms_sql.parse(l_cursor,sqlstr_from_file,dbms_sql.native);--解析游标

dbms_sql.describe_columns(l_cursor,l_col_cot,l_desc_tab);--获取列描述信息
for def in 1..l_col_cot loop
if l_desc_tab(def).col_type=1 then
tempfield(def):='';--初始化集合元素
dbms_sql.define_column(l_cursor,def,tempfield(def),50);--定义列
else
tempdate(def):=sysdate;--初始化集合元素
dbms_sql.define_column(l_cursor,def,tempdate(def));--定义列
end if;
end loop;
executenum:=dbms_sql.execute(l_cursor);--执行游标

document:=xmldom.newDOMDocument;--生成文档对象
rootelement:=xmldom.createElement(document,'StockTable');--生成根元素
loop--循环结果集(列方向)
if dbms_sql.fetch_rows(l_cursor)>0 then
stockrecord:=xmldom.createElement(document,'Stock');--建立临时记录元素
for i in 1..l_col_cot loop--(循环列,行方向)
stockfield:=xmldom.createElement(document,l_desc_tab(i).col_name);--建立字段元素
if l_desc_tab(i).col_type=1 then--col_type=1 表示varchar2类型
--dbms_sql.define_column(l_cursor,i,tempfield(i),50);
dbms_sql.column_value(l_cursor,i,tempfield(i));
text:=xmldom.createTextNode(document,tempfield(i));
else --col_type=12 表示date类型
--dbms_sql.define_column(l_cursor,i,tempdate(i));
dbms_sql.column_value(l_cursor,i,tempdate(i));
text:=xmldom.createTextNode(document,to_char(tempdate(i),'yyyy-mm-dd HH24:MI:SS'));
end if;
--将文本节点添加到字段节点
tempnode:=xmldom.appendChild(xmldom.makeNode(stockfield),xmldom.makeNode(text));
--将字段节点添加到记录节点
tempnode:=xmldom.appendChild(xmldom.makeNode(stockrecord),xmldom.makeNode(stockfield));
end loop;
--将记录节点添加到根节点
tempnode:=xmldom.appendChild(xmldom.makeNode(rootelement),xmldom.makeNode(stockrecord));
else
--no more row to copy
dbms_sql.close_cursor(l_cursor);--遍历游标结束,关闭游标
exit;
end if;
end loop;
--将根节点添加到文档
tempnode:=xmldom.appendChild(xmldom.makeNode(document),xmldom.makeNode(rootelement));
xmldom.setVersion(document,'1.0');
xmldom.writeToFile(document,XMLfilepath);
exception
when parameter then
raise_application_error(-20004,'必须以"sql"或者"file"方式指定sql语句的来源');
when others then
if dbms_sql.is_open(l_cursor) then
dbms_sql.close_cursor(l_cursor);
end if;
raise_application_error(-20005,'未知异常,游标已关闭!');
跟着团子学SAP CO:揭秘结果分析码在项目结算中的实战应用(一)KKA2/CJ88 本文深入解析了SAP CO模块中结果分析码在项目结算中的核心作用。以KKA2(方法10)和事务代码CJ88为例,详细阐述了如何在项目完工后一次性确认收入的场景下,通过结果分析功能实现收入与成本的精准匹配,将项目成本暂估为在制品,确保各期利润的准确反映。 阅读详情

相关推荐

Unity性能优化 - 动态图集

Unity 动态图集是 Unity 引擎中用于处理游戏纹理优化的一种技术。本文介绍了什么是动态图集,动态图集的优缺点,以及提供了一套完整的代码供大家参考。

qq_33808037的博客 4840

一个ORACLE导入和导出XML文件的例子

导入:/*****************************************************************************过程名称:add_to_stockmarket参数1:fileName in varchar2 接收用户输入的xml文件名功能:将xml文件中的数据导入到Stockmarket数据表中***************************

lee576的专栏 3145

曙光服务器RAID配置避坑指南:MegaRAID SAS 9361-8i实战(含Foreign状态处理)

本文详细解析了曙光服务器搭配MegaRAID SAS 9361-8i控制器的RAID配置全流程,包括RAID0和RAID5的创建、Foreign状态处理及性能优化策略。特别针对磁盘迁移中的Foreign状态问题,提供了系统化的解决方案和高级恢复技巧,助力企业级IT运维提升存储配置的稳定性和可靠性。

weixin_29200741的博客 412

多模态大语言模型在细粒度视觉分类中的应用与优化

多模态大语言模型(MLLMs)通过融合视觉与文本信息,在计算机视觉领域展现出强大的跨模态理解能力。其核心原理是将视觉特征映射到语义空间,利用预训练语言模型的知识增强模型表现。这种技术特别适用于细粒度分类任务,如鸟类识别或医疗影像分析,其中文本推理能显著提升模型对细微特征的捕捉能力。工程实践中,BLIP-2等框架通过视觉-语言对齐模块实现高效的多模态融合,而注意力机制可视化技术则验证了文本生成对关键区域聚焦的促进作用。当前行业热点集中在降低计算开销和提升部署效率,知识蒸馏与缓存机制成为优化重点。

weixin_30267785的博客 498

PCB光绘文件DFM检查:从Gerber验证到制造闭环

Gerber文件是PCB设计交付制造的核心数据载体,其准确性直接决定硬件可制造性与量产良率。理解Gerber格式规范、IPC网表比对原理及DFM(Design for Manufacturability)自动检测逻辑,是电子工程师保障设计落地的关键能力。通过电气连通性验证、物理DRC规则扫描与工艺兼容性分析,DFM工具能提前识别开路、短路、孔环不足、阻焊异常等典型问题,避免投板后返工甚至批量报废。在国产化替代趋势下,华秋DFM等平台已深度适配Altium Designer工作流,支持一键导入、智能报告与协同

weixin_42620563的博客 507

Halcon 3D点云处理实战:从PLY文件读取到曲面匹配的完整流程(附避坑指南)

本文详细介绍了Halcon在3D点云处理中的完整流程,从PLY文件读取到曲面匹配,特别强调了3D算子的应用技巧和避坑指南。通过实战案例和参数优化建议,帮助开发者高效处理工业视觉检测中的复杂点云数据,提升匹配精度和性能。

weixin_42535720的博客 278

Oracle使用PLSQL来处理XML

在oracle8i以及后期的版本中,开始提供了xmldom方式来实现对XML格式数据的处理,但在实际的业务信息系统应用开发中,更多的都习惯在程序中(如java,.net等开发语言提供的xml组件)来解析XML数据,很少直接在ORACLE数据库中来直接解析XML数据。定义或确定要解析的XML规则,如上。--以下变量用于获取XML节点的值。

qq_25775675的博客 1412

从SOMEIP看SOA,汽车电子电器架构的转变

从SOMEIP看SOA,汽车电子电器架构的转变

天赐好车的博客 242

psql导入文件_导入XML文件到PostgreSQL

I do have a lot of XML files I would like to import in the table xml_data:create table xml_data(result xml);To do this I have a simple bash script with loop:#!/bin/shFILES=/folder/with/xml/files/*.xml...

weixin_29713403的博客 569

OceanBase数据库LSM-Tree存储引擎深度解析:合并写入与压缩优化策略

OceanBase数据库采用创新的LSM-Tree架构设计,通过"基线-增量"分离存储实现高性能。内存中的MemTable处理写入,磁盘上的SSTable存储有序数据,利用多级缓存加速读取。写入时先写日志再更新内存,合并操作将增量数据整合为基线数据以优化查询性能。相比传统B+树引擎,OceanBase在写入吞吐、压缩效率和存储成本方面优势显著,特别适合写入密集型场景。合并操作作为核心机制,通过多种触发方式和执行策略平衡性能与资源消耗。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1342

基于DynamicHead的YOLOv8四头版本改进:面向复杂场景的多目标检测优化【YOLOv8】

YOLOv8的检测头是通过不同尺度的特征层输出检测结果。这些检测头通常包括三个:用于大物体、中等物体和小物体的检测。然而,这种单一结构可能会在复杂场景下失去针对性和灵活性,特别是当多个目标之间差异较大时。为了进一步提升模型在特定目标上的检测性能,DynamicHead的引入为我们提供了一个多检测头的优化方案。本文提出了一种基于DynamicHead的四头版本YOLOv8改进方案,以解决复杂场景下多目标检测的挑战。通过引入四个独立检测头,分别针对不同目标特征进行优化,实现了更灵活的检测结构。

博客 1718

xml导入 oracle,XmlToOracle

XmlToOracle是一款xml导入oracle数据库工具,软件支持功能驱动,能够解析XML文件中的数据,快速的把数据导入到Oracl数据库中,从而实现XML导入Oracle数据库的功能,操作简单,快速便捷,有需要的用户快来下载吧!功能特色1、界面简洁,而且操作也非常简单。2、软件支持功能驱动。3、能够解析XML文件中的数据。4、能把xml数据快速导入到Oracl数据库中,从而实现XML导入Or...

weixin_42347778的博客 423

四非人的保研之路,2024(2025届)四非计算机的保研经验分享(西南交通、苏大nlp、西电、北邮、山软、山计、电科、厦大等)

本身我就是福建人,xmu 3小时就能到家,然后导这边毕业要求容易,不想读博,达到要求就能放实习,每周打卡35h,比较自由,遂考虑。北邮弱com,联系了蛮多老师,几乎都给了考核机会,面试的老师好几位都考核人工智能基础,会问你卷积的计算,问的还是蛮细的。当时结果是暂定,以为是稳了,遂没联系其他老师,但是之后询问发现只是候补,懒得联系其他老师,928候补到,放弃。东北大学,2000人大机试,入营点送,全国巡回面试,每个人就面不到10分钟,我就被问了3个问题就结束了,候补。科研组,导师有人脉,想读博出成果可以去。

专注于AI领域前沿知识,业余爱好开发软件 4353

将xml文件导入到oracle数据库

import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.commons.beanutils.BeanUtils; import org.dom4j.Document; import org.dom4j.Elem...

chaterlv的专栏 1584

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

数据仓库oracle导入文件,Oracle自治数据仓库ADWC从object storage中导入数据和XML DB相关操作...

学习了下用DBMS_CLOUD包导入Oracle Object Storage文件中数据到数据库ADWC中。1. 创建CREDENTIALBEGINDBMS_CLOUD.CREATE_CREDENTIAL(credential_name => 'API_USER_CREDENTIAL',username => 'username.sample',password => '-b:#...

weixin_39793576的博客 307

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

将XML文件导入到Oracle数据库中

前台:"C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"http:

倾听 6462

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

xml数据导入oracle数据库,XML导入到oracle数据库实现

import java.io.File;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Iterator;import org.dom4j.Document;import org....

weixin_39534780的博客 345

oracle xml数据库下载,XmlToOracle-Xml导入Oracle数据库(XmlToOracle)下载 v2.2官方版-下载啦...

XmlToOracle是一款好用的xml数据导入Oracle数据库工具,强大的xml数据解析功能,能够将Excel生成的xml格式数据导入到Oracle数据库中,包括表和字段,支持批量导入和命令行操作,需要的朋友可以来本站下载!软件特色1、界面简洁,而且操作也非常简单2、软件支持功能驱动3、能够解析XML文件中的数据4、能把xml数据快速导入到Oracl数据库中,从而实现XML导入Oracle数据...

weixin_39865277的博客 151

oracle导入solr,从Oracle数据库导入XML数据时solr dih会变慢

我正在执行一个solr-dih(dataimporthandler)任务,导入存储在Oracle数据库中的大约2000万个文档。最初,这些进口每秒将增加到500多个文档,但在前150000个文档中,速度将降至200以下,最终降低到50-60/s左右;此时,我的耐心达到了极限,我终止了这一过程。导入500万份文档不需要超过30个小时。这些文档存储为xmltype,因此它们必须在查询中“解码”或外推。...

weixin_35639230的博客 252

oracle 导入xml文件怎么打开,XmlToOracle_Xml导入Oracle数据库(XmlToOracle)下载 v1.7 官方版 - 121下载站...

XmlToOracle是一款功能强大的Xml导入Oracle数据库工具,采用先进的转换技术,可以将xml数据快速导入到Oracle数据库中,具有准确率高,转换速度快的特点。新版本增加了多种数据类型和xml文件管理功能,有需要的朋友可以来本站下载!XmlToOracle安装教程1、在本站下载软件,解压,双击安装文件,进入安装界面,点击next2、输入email地址,方便接收最新资讯,不想接收的可以选...

weixin_30453651的博客 106

sqlplus导入到oracle数据库,将SQLPLUS导出的XML资料再次还原到oracle数据库

将SQLPLUS导出的XML文件再次还原到oracle数据库由于最近工作要对数据库反复的操作,数据扭转完毕之后要将数据还原,因此这是一个很痛苦的过程,自己使用SQLPLUS工具,导出的数据没有SQL文件,(只导出查询的结果而不是整个数据表,导出表是有SQL文件的,因为数据很多的时候导出表很花费时间,实际工作中只关注自己需要的数据,因此没有必要导出整个表,我这里只是导出查询的结果)只有XML等其他四...

weixin_42530570的博客 284

把XML数据快速导入Oracle数据库表中

一、问题产生   周五到某项目组,说到我们的系统向某国外开发系统传递XML格式的凭证数据,1W条分录,该国外开发的系统很快就能返回,几乎在1秒之内。回宾馆后,我仔细想了一下这...

cjza378164680的博客 621

SQL语句导入导出大全

function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/storeit.

490

xml导入 oracle,XML导入到ORACLE中

XML导入到ORACLE中以下适用于10G版本--如果是10G以前,用DBMS_XMLSAVE包代替XMLSTORE步骤一:创建XML文件存放的目录对象,并把xml文件放入此目录此例中为T_PRINTCLOBOUT.XMLSQL>createdirectory XML_DIR as'/opt'/步骤二:创建存放数据的表SQL>createtable LQ_XML_TEST(USER_I...

weixin_33209661的博客 738

工作小结:xml文件导入到oracle

上周遇到xml文件导入到oracle数据库中,发现正常的xml转成excle格式导入,只针对于1m以下的xml文件。当xml文件太大的时候,就没有作用了。 这时候,我找到了两种办法,一个是java,一个是数据库的存储过程,但是数据库的存储过程还有些问题,需要自己琢磨一会。 现在就展示java的用法将xml文件导入到oracle数据库中:   首先需要三个jar包: dom4j-1.6.1....

weixin_34293141的博客 245

oracle xml数据库下载,XmlToOracle

XmlToOracle官方版是一款很出众的XML转Oracle数据库软件。XmlToOracle最新版支持功能驱动,能够解析XML文件中的数据,并把这些数据快速导入到Oracl数据库中,从而实现XML导入Oracle数据库的功能,并且XmlToOracle具有导入速度快、支持命令行操作的特点,为Oracle数据可开发维护人员提供了便利。XmlToOracle功能特色1、界面简洁,而且操作也非常...

weixin_34993796的博客 99
上一篇: 用dtsrun命令执行sqlserver包
下一篇: 用sqlserver过程把xml文件导入数据库
常飞梦
常飞梦 领域专家: 数据库技术领域 领域专家: 数据库技术领域
博客等级 码龄21年 403粉丝 314原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值