社区
基础和管理
帖子详情
oracle有没有类似这样的功能?
stonec
2009-11-01 08:03:03
oracle有没有类似这样的功能,主要想实现:
能够定时读取
远程或本地
的某个文件夹下的文件(假设这些文件
按一定的机制存放和命名
,比如说“A部门-200910-User1”,“X部门-200910-Usern”),并且将其中的数据(比如说xls或者xml)导入到数据库的某些表中。
这个可以实现吗?有什么思路和方法?
如果不能用oracle,一般如何实现。
...全文
128
5
打赏
收藏
oracle有没有类似这样的功能?
oracle有没有类似这样的功能,主要想实现: 能够定时读取远程或本地的某个文件夹下的文件(假设这些文件按一定的机制存放和命名,比如说“A部门-200910-User1”,“X部门-200910-Usern”),并且将其中的数据(比如说xls或者xml)导入到数据库的某些表中。 这个可以实现吗?有什么思路和方法? 如果不能用oracle,一般如何实现。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iqlife
2009-11-02
打赏
举报
回复
没有用过
都是在顶层实现
学习了
zhangwonderful
2009-11-01
打赏
举报
回复
需要分步骤实现:1、建立存放xml文件目录 ;2、分配用户对xml文件目录访问权限;3、建立存储过程;4、建立job
1、建立存放xml文件目录
create or replace directory xml_path as 'd:\myxmlfiles';
2、分配用户scott对xml文件目录访问权限
grant read, write on directory xml_path to scott;
3、建立存储过程
CREATE OR REPLACE PROCEDURE addPerson()
IS
--//XML解析器
xmlPar XMLPARSER.parser := XMLPARSER.NEWPARSER;
file_path VARCHAR2;--xml存放路径
log_path VARCHAR2;--日志存放路径
--//DOM文档对象
doc xmldom.DOMDocument;
len integer;
personNodes xmldom.DOMNodeList;
chilNodes xmldom.DOMNodeList;
tempNode xmldom.DOMNode;
tempArrMap xmldom.DOMNamedNodeMap;
--================================
--以下变量用于获取XML节点的值
pid varchar2(4);
name varchar2(50);
address varchar2(200);
tel varchar2(20);
fax varchar2(20);
email varchar(100);
tmp integer;
--================================
BEGIN
file_path:='d:\xml_path\myxml.xml';
log_path:='d:\xml_path\mylog.txt';
xmlPar := xmlparser.newParser;
xmlparser.setErrorLog( xmlPar, log_path);
xmlparser.parse(xmlPar, file_path);
doc := xmlparser.getDocument( xmlPar );
-- 释放解析器实例
xmlparser.freeParser(xmlPar);
-- 获取所有PERSON元素
personNodes := xmldom.getElementsByTagName( doc, 'PERSON' );
len := xmldom.getLength( personNodes );
--遍历所有PERSON元素
FOR i in 0..len-1
LOOP
--获取第i个PERSON
tempNode := xmldom.item( personNodes, i );
--所有属性
tempArrMap := xmldom.getAttributes(tempNode);
--获取PERSONID的值
pid := xmldom.getNodeValue(xmldom.getNamedItem(tempArrMap,'NODEID'));
--获取子元素的值
chilNodes := xmldom.getChildNodes(tempNode);
tmp := xmldom.GETLENGTH( chilNodes );
name := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 0 )));
address := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 1 )));
tel := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 2 )));
fax := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 3 )));
email := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 4 )));
--数据库处理
---INSERT INTO PEOPLE VALUES (pid,name,address,tel,fax,email);
COMMIT;
END LOOP;
-- 释放文档对象
xmldom.freeDocument(doc);
EXCEPTION
WHEN OTHERS THEN
DBMS_output.PUT_LINE(SQLERRM);
END addPerson;
4、建立job调用存储过程处理xml文件(每隔30秒处理一次)
--创建job
SYS.DBMS_JOB.SUBMIT(NJOB,
'addPerson();',
sysdate,
'sysdate + 30/(24*3600)');
shiyiwan
2009-11-01
打赏
举报
回复
dbms_job可以定时,你查下oracle job
dbms_xml和dbms_file是oracle处理文件的两个包
stonec
2009-11-01
打赏
举报
回复
楼上,能说通俗一点吗?oracle才刚开始学
shiyiwan
2009-11-01
打赏
举报
回复
dbms_job
dbms_xml
dbms_file
oracle
类似
sql profiler,使用profiler测试
Oracle
PL/SQL性能
Oracle
存储过程和PL/SQL代码常常包含了多个子过程和SQL,对于单个的SQL,我们很容易分析他的执行效率,但是对于PL/SQL存储过程,我们如何分析它的执行效率、具体每一步的耗时...如果没有安装,在SYS用户下执行Orac...
mysql
有没有
sysdate_
有没有
类似
于MySQL中
Oracle
的trunc(sysdate)的
功能
?
------------+ 4 rows in set (0.00 sec) 这是实现
类似
于MySQL中
Oracle
的trunc(sysdate)的
功能
的查询-mysql> select * from DemoTable1613 where date(PostingDate)=curdate(); 这将产生以下输出+-------...
Oracle
有没有
像MySql一样的Explain(查看执行计划)
Oracle
查看执行计划有很多种方法,这里介绍我常用的一种方法 法一:在查询语句前加上explain plan for explain plan for select * from HEAD where fcd = 'A1' and fname= 'hu' 执行SQL会出现下面问题,...
最适合
Oracle
数据库的Linux操作系统?
Oracle
Linux免费吗?Centos适合安装
Oracle
数据库吗?最适合
Oracle
数据库的Linux操作系统?
oracle
类似
mysql+g_
oracle
中
有没有
类似
于mysql中的group_concat的函数?
qq_遁去的一_111g及更高:使用listagg:SELECTcol1,LISTAGG(col2,',')WITHINGROUP(ORDERBYcol2)"names"FROMtable_xGROUPBYcol110g及更低:一种方法是使用一个
功能
:CREATEORREPLACEFUNCTIONget_comma_separated_...
基础和管理
17,382
社区成员
95,118
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章