国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

在 Oracle JDeveloper 中創建 XSQL 查詢

2024-08-29 13:39:11
字體:
來源:轉載
供稿:網友

  PL/SQL 常被用于創建到數據庫的連接、生成表、檢索結果集和執行更新。來自使用 PL/SQL 的 SQL 查詢的結果集當然是一個文本表。隨著在 J2EE 應用程序中使用 xml 逐漸增多,許多 J2EE 開發人員現在需要將這種結果表示為 XML 文檔,以交換數據。
  
  包含在 Oracle JDeveloper 10g 中的 Oracle XSQL Servlet 工具支持 SQL 查詢的處理以及將結果集作為 XML 輸出。有可能要求 XML 輸出是一種不同的格式或者可能需要修改輸出,因此為了這些目的,XSQL Servlet 也支持 XSLT 轉換。
  
  XSQL 文件(.xsql 文件)利用 <xsql:query></xsql:query> 標記包含 SQL 查詢語句。XSQL 還可以通過 <xsql:dml></xsql:dml> 標記來創建或更新數據庫。XSQL 通過在 XSQL 頁面中指定樣式表來支持 XSLT 轉換。在這篇技術說明中,我們將利用 XSQL 來查詢一個包含了目錄的示例數據庫表。然后我們將通過 XSLT 轉換將 XML 輸出顯示為 Html 表。
  
  預備安裝
  使用 XSQL 創建/查詢的數據庫表在 Oracle 數據庫中創建。在這篇教程中使用了 Oracle 數據庫 10g 來創建數據庫表。
  
  首先,創建和啟動 Oracle 數據庫的一個例程。然后與數據庫連接,并且 SYS 模式(用戶名)為 SYSDBA。
  
  CONNECT SYS/<passWord> AS SYSDBA
  
  然后使用下面的 SQL 腳本來創建一個包含了示例 Oracle 目錄的數據庫表:
  
  CREATE TABLE OracleCatalog(Journal VARCHAR(25), Publisher Varchar(25),
  Edition VARCHAR(25), Title Varchar(45), Author Varchar(25));
  
  INSERT INTO OracleCatalog VALUES('Oracle Magazine', 'Oracle Publishing',
  'November-December 2003', 'Servlets and jsp Step Up', 'Budi Kurniawan');
  
  INSERT INTO OracleCatalog VALUES('Oracle Magazine',  'Oracle Publishing',
  'September-October 2003', 'Parsing XML Efficiently', 'Julie Basu');
  
  我們將在 JDeveloper 10g 生產版中運行示例 XSQL。下載并安裝 JDeveloper 10g 生產版;然后創建一個新的項目(如圖 1 所示)。
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖一)

  創建數據庫連接
  
  XSQL 查詢需要一條數據庫連接。要在 JDeveloper 中創建數據庫連接,請選擇連接導航器中的 Connections>Database 節點(如圖 2 所示)。
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖二)

  
圖 2:導航器中的數據庫節點

  然后顯示連接向導(如圖 3 所示)。
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖三)

  
圖 3:連接向導:類型

  
  在連接向導中指定一個連接名稱和連接類型,然后單擊 Next 按鈕。在顯示的下一個框架中,指定一個用戶名和口令,然后單擊 Next 按鈕。
  
  在隨后的 Connection 框架中指定一個 JDBC 驅動程序、主機名、JDBC 端口和數據庫 SID,然后單擊 Next 按鈕(如圖 4 所示)。
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖四)

  
圖 4:連接向導:連接

  
  在隨后的 Test 框架中,單擊 Test Connection 按鈕,測試 JDBC 連接(參見圖 5)。
單擊 Finish 按鈕,配置數據庫連接。
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖五)

  
圖 5:連接向導:測試

  
  如圖 6 所示,您將看到在應用程序導航器中一個連接節點添加到了 Connections>Database 節點中。
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖六)

  
圖 6:連接節點

  
  與數據庫的連接還可能通過修改 <JDeveloper>/jdev/system9.0.5.1.1605/XSQLConfig.xml 文件來創建。<JDeveloper> 是安裝 JDeveloper 10g 的目錄;可能已設定了運行應用服務器的用戶擁有對 XSQLConfig.xml 文件的讀權限。在 XSQLConfig.xml 中的 <connectiondefs> 元素中增加一個 <connection> 元素,以指定要創建的連接。利用 SYSTEM 模式創建一條連接。
  
  <connection name="dbConnection">
  <username>SYSTEM</username>
  <password></password>
  <dburl>jdbc:oracle:thin:@<HOST>:<PORT>:<SID></dburl>
  <driver>oracle.jdbc.driver.OracleDriver</driver>
  </connection>
  
  屬性 name 是連接名稱
  元素 username 是用來登錄到數據庫中的用戶名
  元素 passWord 是用來登錄到數據庫中的口令
  元素 dburl 是數據庫的 URL
  元素 driver 是用來與數據庫連接的 JDBC 驅動程序
  <HOST> 是 Oracle 10g 生產版的數據庫主機
  <PORT> 是數據庫端口
  <SID> 是數據庫 SID
  
  接下來,將 XSQLConfig.xml 拷貝到 JDeveloper 中的項目源代碼目錄中。我們將使用在 XSQLConfig.xml 文件中配置的連接 dbConnection 來指定 XSQL 頁面的 <page> 標記中連接屬性的值。
  
  XSQL 的 Oracle 10g 版本(Oracle 10g XDK 的一部分)也支持新的利用 J2EE 容器定義的 JDBC 數據源的能力,這從 XSQLConfig.xml 文件中消除了連接定義,并將連接池的治理推遲到了 J2EE 容器中。用于數據庫連接的數據源在 XSQL 頁面的 <page> 標記的 connection 屬性中指定。因為 J2EE 容器一般支持為它們的 JDBC 連接定義進行口令加密,因此這種方法在某些情況下甚至可能更安全。(請參閱 Oracle 10g XSQL 版本說明的“使用 Servlet 容器的數據源實施”一節,以獲取更多的具體信息。)
  
  在 XSQL 頁面中處理 XSQL 查詢
  現在讓我們在 JDeveloper 中創建一個 XSQL 頁面 (queryDb.xsql)。要創建一個 XSQL 文件,請選擇應用程序導航框架中的項目節點。在下一個框架中,選擇 General>XML。在列出的項目中選擇 XSQL Page。這將生成一個 XSQL 頁面(如圖 7 所示)。
  
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖七)

  
圖 7:XSQL 頁面

  
  接下來我們將在 XSQL 頁面中添加 <xsql:query></xsql:query> 標記,以處理我們的 XSQL 查詢。XSQL 查詢的應用程序可能需要使用綁定變量(SQL 語句中的變量)。可以使用 URL 參數、會話變量、cookie 值或頁面參數的值來設置綁定變量。在我們的例子中我們將使用頁面參數來設置 XSQL 查詢綁定變量。
  
  使用 <xsql:query> 標記中的 bind-params 屬性指定的綁定變量用于<xsql:query> 標記內部的 SQL 語句。綁定變量在 SQL 語句中用 '?' 表示。綁定參數的值用 <xsql:set-page-params/> 標記指定。在本節和以下章節中,XSQL 查詢中使用的數據庫表的名稱應該加上創建表的模式作為前綴。在本教程中,數據庫表 OracleCatalog 在 SYS 模式中創建。在 XSQL 查詢的 SQL 語句中用 SYS 作為 OracleCatalog 表的前綴。例如,從 FROM SYS.OracleCatalog 選擇 JOURNAL、PUBLISHER、EDITION、TITLE 與 AUTHOR。
  
  <page xmlns:xsql="urn:oracle-xsql" connection="dbConnection">
  <xsql:set-page-param name="JOURNAL" value="Oracle Magazine"/>
  <xsql:set-page-param name="PUBLISHER" value="Oracle Publishing"/>
  <xsql:query xmlns:xsql="urn:oracle-xsql"
  bind-params="JOURNAL PUBLISHER">
  select JOURNAL, PUBLISHER, EDITION,
  TITLE, AUTHOR from OracleCatalog WHERE JOURNAL=?AND PUBLISHER=?
  </xsql:query>
  </page>
  
  可以從 XSQL 組件板中添加 <xsql:query></xsql:query> 標記(如圖 8 所示)。

  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖八)

  
圖 8:XSQL 組件板中的查詢組件

  
  頁面標記中的屬性連接指定了用來查詢數據庫的連接。我們的 XSQL 頁面 queryDb.xsql 在圖 9 中顯示。
  
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖九)

  
圖 9:queryDb.xsql XSQL 頁面

  
  要運行 queryDb.xsql,右鍵單擊應用程序導航器中的 queryDb.xsql 節點,并選擇 Run,如圖 10 所示。
  
  
 在 Oracle JDeveloper 中創建 XSQL 查詢(圖十)

  
圖 10:運行 queryDb.xsql

  
  XSQL 查詢的結果是一個 XML 文檔;XSQL 頁面 queryDb.xsql 在默認的瀏覽器中顯示 XSQL 查詢的 XML 輸出。我們的 XSQL 查詢如下所示。
  
  - <page>
  - <ROWSET>
  - <ROW num="1">
  <JOURNAL>Oracle Magazine</JOURNAL>
  <PUBLISHER>Oracle Publishing</PUBLISHER>
  <EDITION>November-December 2003</EDITION>
  <TITLE>Servlets and JSP Step Up</Title>
  <AUTHOR>Budi Kurniawan</AUTHOR>
  </ROW>
  
  - <ROW num="2">
  <JOURNAL>Oracle Magazine</JOURNAL>
  <PUBLISHER>Oracle Publishing</PUBLISHER>
  <EDITION>September-October 2003</EDITION>
  <TITLE>Parsing XML Efficiently</Title>
  <AUTHOR>Jilua Basu</AUTHOR>
  </ROW><

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奈曼旗| 左贡县| 札达县| 嵊州市| 东乌| 休宁县| 台东市| 黄浦区| 张家川| 平原县| 黑河市| 永和县| 昭通市| 同德县| 夏河县| 永清县| 奈曼旗| 琼结县| 万安县| 友谊县| 若尔盖县| 林口县| 慈利县| 阜城县| 孝感市| 塔城市| 武山县| 咸宁市| 新源县| 浑源县| 嘉定区| 南宫市| 渭源县| 三门县| 康保县| 亳州市| 昌图县| 铜梁县| 呼伦贝尔市| 三穗县| 贵阳市|