x:driverMangerSpec 動作用來指定利用 JDBC 驅動程式管理程式來連接 JDBC 資料庫所需要的資訊。不過,x:driverManagerSpec 動作不會建立這個連線。它會建立一個這個頁面範圍內的 x:select、x:modify、x:procedureCall 或 x:batch 動作,或在 scriptlet 中,所能參照的物件。當處理這些動作時,就會建立資料庫連線。
語法
<x:driverManagerSpec
id = "name"
scope = "page|request|session"
driver = "database_driver_name"
url = "jdbc:subprotocol:subname"
userid = "db_user"
password = "user_password"
passwordEncrypted = "true|false" />
x:driverManagerSpec 動作有下列屬性:
- id
- 用來在指定的名稱空間中識別 DBConnectionSpec Bean 及其 Scripting 變數名稱的名稱。指定的名稱會區分大小寫,且必須符合現行 Scripting 語言變數命名慣例。
- scope
- 在其中定義物件的名稱空間。
預設值是 page。
- userid
- 這是必要的屬性,用來指定要存取的資料庫的有效使用者 ID。
輸入的大小寫會保留下來。
- password
- 這是必要的屬性,用來指定使用者 ID 的密碼。
輸入的大小寫會保留下來。
- passwordEncrypted
- 這是選用的屬性,用來指定 password 屬性所指定的值是否要加密。
預設值是 False。
加密演算法是基礎 Bean 所專用的。
因此,如果要傳遞加密密碼,您必須從知道加密方式的工具中取得密碼。
執行這個動作的好處是您的 JSP 不會含有可讀取的密碼。
- driver
- 這是必要的屬性,用來指定建立資料庫連線時所用的 JDBC 驅動程式。這是 JDBC 驅動程式的類別名稱(其中包括套件名稱)。比方說,DB2® 應用程式 JDBC 驅動程式是 COM.ibm.db2.jdbc.app.DB2Driver。
輸入的大小寫會保留下來。
- url
- 這是必要的屬性,用來指定建立資料庫連線時所用的 URL。
輸入的大小寫會保留下來。URL 規格的格式為 jdbc:subprotocol:subname,其中 subprotocol 和 subname 用來識別連線的資料來源。subprotocol 值會隨著所用的 JDBC 驅動程式而不同。比方說,DB2 應用程式 JDBC 驅動程式的 subprotocol 是 db2;Oracle thin 驅動程式的 subprotocol 是 thin。subname 的值會隨著 subprotocol 規格而不同;subname 值提供用來尋找資料庫的資訊。
比方說,透過 DB2 應用程式 JDBC 驅動程式來存取名稱為 sample 的本端資料庫之完整 URL 規格為 jdbc:db2:sample。
對照來看,利用 Sybase jConnect 驅動程式,在 Internet 中,透過埠號 88 來存取遠端伺服器 myserv 中名稱為 sample 之資料庫的 Applet,其完整 URL 規格為:jdbc:sybase:Tds:myserver:88/sample。
在這裡,subname 值包括資料庫伺服器名稱、埠號及資料庫名稱。
範例
這個範例利用 driver 和 url 屬性來指定連接資料庫的方式,且會利用使用者在執行時期提供的使用者 ID 和密碼值。
<x:driverManagerSpec id="conn1"
driver = "COM.ibm.db2.jdbc.app.DB2Driver"
url = "jdbc:db2:sample"
userid = '<%= request.getParameter("userid") %>'
password = '<%= request.getParameter("password") %>' />