当前位置:首页 » 办公资讯 » xml文件怎样导入oracle

xml文件怎样导入oracle

发布时间: 2023-02-12 01:12:39

❶ 使用存储过程把XML文件插入oracle数据库

这要看xml数据的结构,和你设置的表结构了;

给一个仅供参考的方法吧!

步骤一:用excel打卡xml数据文件,另存为csv文件

步骤二:在plsql中使用text imporer(或者用sqlloader也行)

❷ oracle数据库中怎么把xml文档内的数据导入啊

学习Oracle架构应当掌握的知识 1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件组成)一个数据库中的数据存储在磁盘上物理文件,被使用时,调入内存。其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert files)属于数据库文件;参数文件(parameter file)口令文件(password file)是非数据库文件1.1数据文件:存储数据的文件.数据文件典型地代表了根据他们使用的磁盘空间和数量所决定的一个Oracle数据库的容积。由于性能原因,每一种类型的数据放在相应的一个或一系列文件中,将这些文件放在不同的磁盘中。```` http://www.huohuli.com/shi/content.aspx?ID=5264

❸ 一个web版的xml文件,怎么将xml文件的内容转存到oracle数据库中,语言是C#,在线等,跪求!!!

1 读入文件内容,将xxx,xxx,xxx的格式保存到某个字符串变量,
2 用Stringstoken将这些变量转换成数组保存.
3 XML的文件读写一般都用dom4j来实现,用dom4j将数组中的内容按照你所需要的格式生成xml文件,给那个方法调用即可.

DOM4J的一个例子.
import org.dom4j.Attribute;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

❹ 如何使用sqlloader导入xml文件到Oracle数据库

在Oracle表数据和xml文件间相互导入导出的PL/SQL过程
学校里要求做个题,题目要求是写出将已知格式xml文件中的数据导入Oracle数据库、把数据库中的数据导出成xml文件的过程。
已知格式xml文件如下:

<?xmlversion="1.0"?>
<PEOPLE>
<PERSONPERSONID="E01">
<NAME>TonyBlair</NAME>
<ADDRESS>10DowningStreet,London,UK</ADDRESS>
<TEL>(061)98765</TEL><FAX>(061)98768</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
<PERSONPERSONID="E02">
<NAME>BillClinton</NAME>
<ADDRESS>WhiteHouse,USA</ADDRESS>
<TEL>(001)640098765</TEL><FAX>(001)640098769</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
<PERSONPERSONID="E03">
<NAME>TomCruise</NAME>
<ADDRESS>57JumboStreet,NewYork,USA</ADDRESS>
<TEL>(001)450067859</TEL><FAX>(001)450067895</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
<PERSONPERSONID="E04">
<NAME>LindaGoodman</NAME>
<ADDRESS>78CraxLane,London,UK</ADDRESS>
<TEL>(061)5456789</TEL><FAX>(061)5456772</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
</PEOPLE>

于是写出过程如下:
--建表
CREATETABLEPEOPLE
(
PERSONIDVARCHAR2(10)PRIMARYKEY,
NAMEVARCHAR2(20),
ADDRESSVARCHAR2(60),
TELVARCHAR2(20),
FAXVARCHAR2(20),
EMAILVARCHAR2(40)
);
--从xml文件载入数据保存到数据库的过程
createorreplaceprocerexml2db(xmlfilevarchar2)as
pxmlparser.Parser;
docxmldom.DOMDocument;
nxmldom.DOMNode;
nlxmldom.DOMNodeList;
lennumber;
--根据PERSON结点生成插入SQL语句的过程
functioninsertsql(nodexmldom.DOMNode)returnvarchar2
is
nxmldom.DOMNode;
nlxmldom.DOMNodeList;
lennumber;
nnmxmldom.DOMNamedNodeMap;
isqlvarchar2(200);
begin
--取得PERSON结点所有属性
nnm:=xmldom.getAttributes(node);
isql:='insertintopeoplevalues(';
isql:=isql||'''';
--取得所有属性中的第一个属性,即"PERSONID",并拼接到SQL语句中
isql:=isql||xmldom.getNodeValue(xmldom.item(nnm,0));
isql:=isql||'''';
--取得PERSON结点下的所有结点,准备遍历
nl:=xmldom.getChildNodes(node);
len:=xmldom.getLength(nl);
foriin0..len-1loop
--取出第i个结点
n:=xmldom.item(nl,i);
isql:=isql||',';
isql:=isql||'''';
--将结点的文本值取出并拼接到SQL语句中
isql:=isql||xmldom.getNodeValue(xmldom.getFirstChild(n));
isql:=isql||'''';
endloop;
isql:=isql||')';
returnisql;
endinsertsql;
begin
p:=xmlparser.newParser;
xmlparser.parse(p,xmlfile);
--转换xml文件成DOM对像
doc:=xmlparser.getDocument(p);
xmlparser.freeParser(p);
--取出所有PERSON元素
nl:=xmldom.getElementsByTagName(doc,'PERSON');
len:=xmldom.getLength(nl);
--清空people表的内容
deletefrompeople;
foriin0..len-1loop
--取出第i个PERSON元素
n:=xmldom.item(nl,i);
--执行插入该PERSON元素所用的SQL语句
executeimmediateinsertsql(n);
endloop;
commit;
xmldom.freeDocument(doc);
endxml2db;
/
--将数据库中的数据导出成xml文件的过程
createorreplaceproceredb2xml(xmlfilevarchar2)as
docxmldom.DOMDocument;
retxmldom.DOMNode;
peoplenodexmldom.DOMNode;
--遍历整个people表的游标
-------------
--将people表中一行记录转换为元素
--并插入到DOM文档对像根结点PEOPLE下的过程
procereaddperson(docxmldom.DOMDocument,peoplexmldom.DOMNode,
v_pidvarchar2,v_namevarchar2,v_addrvarchar2,
v_telvarchar2,v_faxvarchar2,v_emailvarchar2)
is
personelemxmldom.DOMElement;
personnodexmldom.DOMNode;
itemelemxmldom.DOMElement;
itemnodexmldom.DOMNode;
textxmldom.DOMText;
begin
--创建PERSON结点
personelem:=xmldom.createElement(doc,'PERSON');
--设置PERSONID属性
xmldom.setAttribute(personelem,'PERSONID',v_pid);
personnode:=xmldom.appendChild(peoplenode,xmldom.makeNode(personelem));
--向PERSON结点中添加NAME元素
itemelem:=xmldom.createElement(doc,'NAME');
--将NAME结点添加到PERSON结点中
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
--创建文本结点
text:=xmldom.createTextNode(doc,v_name);
--将文本结点添加到NAME结点下,以构成完整NAME元素
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
--向PERSON结点中添加ADDRESS元素
itemelem:=xmldom.createElement(doc,'ADDRESS');
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
text:=xmldom.createTextNode(doc,v_addr);
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
--向PERSON结点中添加TEL元素
itemelem:=xmldom.createElement(doc,'TEL');
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
text:=xmldom.createTextNode(doc,v_tel);
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
--向PERSON结点中添加FAX元素
itemelem:=xmldom.createElement(doc,'FAX');
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
text:=xmldom.createTextNode(doc,v_fax);
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
--向PERSON结点中添加EMAIL元素
itemelem:=xmldom.createElement(doc,'EMAIL');
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
text:=xmldom.createTextNode(doc,v_email);
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
endaddperson;
begin
--创建一个新DOM文档对像
doc:=xmldom.newDOMDocument;
--为文档添加根结点PEOPLE
peoplenode:=xmldom.makeNode(xmldom.createElement(doc,'PEOPLE'));
ret:=xmldom.appendChild(xmldom.makeNode(doc),peoplenode);
--使用游标遍历people中的每行,生成每一行对应的PERSON元素并添加到PEOPLE根结点中
forv_rowincur_peopleloop
addperson(doc,peoplenode,v_row.personid,v_row.name,
v_row.address,v_row.tel,v_row.fax,v_row.email);
endloop;
--将结果写入指定文件
xmldom.writeToFile(doc,xmlfile);
xmldom.freeDocument(doc);
enddb2xml;
热点内容
马路上汽车的噪音在多少分贝 发布:2023-08-31 22:08:23 浏览:1889
应孕棒多少钱一盒 发布:2023-08-31 22:08:21 浏览:1364
标准养老金一年能领多少钱 发布:2023-08-31 22:05:05 浏览:1648
湖北通城接网线多少钱一个月 发布:2023-08-31 21:59:51 浏览:1728
开随车吊车多少钱一个月 发布:2023-08-31 21:55:06 浏览:1489
京东付尾款怎么知道前多少名 发布:2023-08-31 21:52:58 浏览:1814
在学校租铺面一个月要多少钱 发布:2023-08-31 21:52:09 浏览:1952
2寸有多少厘米 发布:2023-08-31 21:50:34 浏览:1596
知道电压如何算一小时多少电 发布:2023-08-31 21:46:20 浏览:1577
金手镯54号圈周长是多少厘米 发布:2023-08-31 21:44:28 浏览:1750