oracle数据解析成xml文件,再从xml存入oracle,请问使用哪种语言做接口呢,我很迷茫

oracle我还行,就是转换成xml文件过程,我不懂啊,老师,请您指点一下... oracle我还行,就是转换成xml文件过程,我不懂啊,老师,请您指点一下 展开
 我来答
枫叶朴璐
2015-02-05 · TA获得超过2606个赞
知道大有可为答主
回答量:7573
采纳率:0%
帮助的人:5937万
展开全部
通过配置本地数据库的tns配置文件实现:
去oracle安装目录下oracle\product\10.2.0\db_2\NETWORK\ADMIN\ 找到tnsnames.ora,用记事本打开,里边有远程数据库的tns连接配置串如下
ORCL23 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.23)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
添加好ip、端口和目标数据库的实例名(SID),然后确保tns名称(ORCL23)在整个文档中唯一,保存后打开数据库连接工具,输入远程数据库上的用户名密码,选择数据库对象为你配置的连接名就可以了
kingdom17911
2015-03-20 · TA获得超过422个赞
知道答主
回答量:124
采纳率:100%
帮助的人:58.5万
展开全部
一 查询语句的结果转换成XML
1 创建函数用于转换
CREATE OR REPLACE FUNCTION get_query_xml (
q_string IN VARCHAR2, --查询语句
p_rowtag IN VARCHAR2 DEFAULT NULL --XML标签
)
RETURN CLOB
IS
ctx NUMBER;
xmldoc CLOB;
page NUMBER := 0;
xmlpage BOOLEAN := TRUE;
refcur sys_refcursor;
BEGIN
OPEN refcur FOR q_string;
ctx := DBMS_XMLGEN.newcontext (refcur);
DBMS_LOB.createtemporary (xmldoc, TRUE);
IF NOT (p_rowtag IS NULL)
THEN
DBMS_XMLGEN.setrowtag (ctx, p_rowtag);
END IF;
xmldoc := DBMS_XMLGEN.getxml (ctx, DBMS_XMLGEN.NONE);
DBMS_XMLGEN.closecontext (ctx);
RETURN xmldoc;
END;
2 调用此函数生成XML
select get_query_xml('SELECT ITEM,SHORT_DESC FROM ITEM_MASTER WHERE ITEM_PARENT = ''300010571'' ','DATA') from dual;

二 解析XML 数据
SELECT * FROM XMLTABLE('$B/ROWSET/DATA' PASSING
XMLTYPE('<?xml version="1.0"?>
<ROWSET>
<DATA>
<ITEM>500000000</ITEM>
<SHORT_DESC>162139802</SHORT_DESC>
</DATA>
</ROWSET>
') AS B
COLUMNS item VARCHAR2(500) PATH '/DATA/ITEM',
short_desc VARCHAR2(500) PATH '/DATA/SHORT_DESC'
)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式