A. oracle数据库怎么创建XML方案
在oracle中提供了许多内置的程序包,它们用于扩展数据库的功能。在开发应用程序时,可以利用这些程序包。数据库用户sys拥有oracle提供的所有程序包。他们被定义为共有同义词,并将执行权限授予了public用户组,任何用户都可以访问它们。其中DBMS_XMLQUERY包用于将查询结果转换为XML格式,DBMS_LOB程序包包含雨处理大型对象的过程和函数。下面我们看一下DBMS_XMLQUERY和DBMS_LOB的用法:
sql> DECLARE
result CLOB;
xmlstr VARCHAR2(32767);
line VARCHAR2(2000);
line_no INTEGER :=1;
BEGIN
result :=DBMS_XMLQUERY.getXml('select empno,empname from employee');
xmlstr :=DBMS_LOB.SUBSTR(result,32767);
LOOP
EXIT WHEN xmlstr IS NULL;
line :=SUBSTR(xmlstr,1,INSTR(xmlstr,CHR(10)-1));
DBMS_OUTPUT.PUT_LINE(line_no || ':' || line);
xmlstr :=SUBSTR(xmlstr,INSTR(xmlstr,CHR(10)+1));
line_no :=line_no + 1;
END LOOP;
END;
在上面的例子中我们声明了一个CLOB数据类型的result变量,以及VARCHAR2类型的xmlstr和line两个变量。其中,getXml函数用于将查询结果转换为XML格式,SUBSTR函数检索子字符串,32767值指定要从CLOB数据类型读取的最大字节数。检索到的字符串存储xmlstr变量中。LOOP块循环执行,每次从xmlstr中读取一行。INSTR函数返回一个字符串在另一个字符串首次出现的位置。在此,该函数返回换行符在字符串中的位置,直到遇到下一行。
大家觉得例子的结果能不能读出我们预期的结果呢?试试就知道了!!!
结果如下:
< ?xml version='1.0'?>
< ROWSET>
< ROW num="1">
< EMPNO>E001</EMPNO>
< EMPNAME>Jane</EMPNAME>
< /ROW>
<ROW num="2">
< EMPNO>E002</EMPNO>
< EMPNAME>John</EMPNAME>
< /ROW>
< ROW num="3">
< EMPNO>E003</EMPNO>
< EMPNAME>Joe</EMPNAME>
< /ROW>
< /ROWSET>
B. 如何创建XML文件
怎么创建
XML
输入文件
SQL
Server
2008
R2
其他版本
此主题尚未评级
评价此主题
假如是有经验的
XML
开发人员,您可以创建有些
XML
格式的文件,数据库引擎优化顾问可用这类文件来优化工作负荷。若要创建这类
XML
文件,请用您最喜爱的
XML
工具编辑示例文件,或通过数据库引擎优化顾问
XML
架构生成实例。
数据库引擎优化顾问
XML
架构位于
MicrosoftSQL
Server
安装的以下位置:
C:\Program
Files\Microsoft
SQL
Server\100\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd
此
Microsoft
网站上也在线提供了数据库引擎优化顾问
XML
架构。
单击此
URL
可打开(OPEN)1个包含许多
SQL
Server
XML
架构的页面。向下滚动页面,直至找到数据库引擎优化顾问所在的行。
创建
XML
输入文件以优化工作负荷
创建工作负荷。您可以通过用
SQL
Server
Profiler中的优化模板来用跟踪文件或表,或创建可产生典型
SQL
Server
工作负荷的
Transact-SQL
脚本。有关清楚信息,请参阅怎么创建工作负荷。
用下列方法之一创建
XML
输入文件:
拷贝1个
XML
输入文件示例
(DTA)
并将其粘贴到您最喜爱的
XML
编辑器。更改值来为安装的
SQL
Server
指定适当的参数,之后保存
XML
文件。
用您最喜爱的
XML
工具,通过数据库引擎优化顾问
XML
架构生成1个实例。
创建
XML
输入文件之后,将它用作
dta
命令行实用工具的输入来优化工作负荷。有关在此实用工具中用
XML
输入文件的信息