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
輸入文件的信息