<x:dataSourceSpec>

x:dataSourceSpec 動作用來指定利用 JDBC 資料來源來連接 JDBC 資料庫所需要的資訊。不過,x:dataSourceSpec 動作不會建立這個連線。它會建立一個 x:selectx:modifyx:procedureCallx:batch 動作,或在 scriptlet 中,所能參照的物件。當處理這些動作時,就會建立資料庫連線。

語法

<x:dataSourceSpec
		 	id = "name"
			scope = "page|request|session"	
			initialContextFactory = "context_factory"
			providerURL = "protocol:subprotocol:subname"
			dataSource = "JNDI_Subcontext/logical_name"
			userid = "db_user"
			password = "user_password"
			passwordEncrypted = "true|false" />

x:dataSourceSpec 動作有下列屬性:

id
用來在指定的名稱空間中識別 DBConnectionSpec Bean 及其 Scripting 變數名稱的名稱。指定的名稱會區分大小寫,且必須符合現行 Scripting 語言變數命名慣例。
scope
在其中定義物件的名稱空間。 預設值是 page。
userid
這是必要的屬性,用來指定要存取的資料庫的有效使用者 ID。 輸入的大小寫會保留下來。
password
這是必要的屬性,用來指定使用者 ID 的密碼。 輸入的大小寫會保留下來。
passwordEncrypted
這是選用的屬性,用來指定 password 屬性所指定的值是否要加密。 預設值是 False。 加密演算法是基礎 Bean 所專用的。 因此,如果要傳遞加密密碼,您必須從知道加密方式的工具中取得密碼。 執行這個動作的好處是您的 JSP 不會含有可讀取的密碼。
initialContextFactory
這是一個選用的屬性,負責指定 Factory 類別的類別名稱,以建立尋找指定的 dataSource 時所要使用的起始環境定義。 輸入的大小寫會保留下來。

如果沒有指定任何值的話,預設值是系統或環境變數 "java.naming.factory.initial" 中所識別的類別。

providerURL
這是一個選用屬性,用來指定配置指定的起始環境定義 Factory 所關聯的命名服務提供者時所用的 URL。 這個字串必須符合通用的 URL 語法,但它的特定內容、用法及預設值會隨著所用的起始環境定義 Factory 而不同。輸入的大小寫會保留下來。
dataSource
這是必要的屬性,用來指定 dataSource 的 JNDI 名稱。 輸入的大小寫會保留下來。

範例

這個範例利用 initialContextFactory 和 dataSource 屬性來指定連接資料庫的方式,且會利用使用者在執行時期提供的使用者 ID 和密碼值。

<x:dataSourceSpec id="conn1"
	dataSource="jdbc/autosDatasource"
	userid='<%= request.getParameter("userid") %>'
	password='<%= request.getParameter("password") %>'>  />
讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.