x:driverMangerSpec アクションは、JDBC データベースへの接続に必要な情報を
JDBC ドライバー・マネージャーを使用して指定するために使用されるものです。
しかし、x:driverManagerSpec アクションでは接続は確立されません。
このアクションでは、このページのスコープ内で x:select、x:modify、x:procedureCall、
または x:batch アクションによって、あるいはスクリプトレットの中で参照できるオブジェクトが作成されます。
データベース接続が確立するのはこうしたアクションが処理された時です。
構文
<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 の識別と、
そのスクリプト記述変数名の識別にも使用される名前。
指定する名前には大/小文字の区別があり、
名前はスクリプト記述言語の変数の名前指定の現行規則に従ったものとしなくてはなりません。
- 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 値により、データベースを探し出すための情報が提供されます。
たとえば、sample という名前のローカル・データベースに
DB2 アプリケーション JDBC ドライバーを介してアクセスするアプリケーションがあるものとします。この場合、このアプリケーションの全 URL 指定は jdbc:db2:sample となります。
これに対して、Sybase jConnect ドライバーを使用して、myserv という名前のリモート・サーバー上の、sample
という名前のデータベースに、インターネット上のポート番号 88 を介してアクセスするアプレットの場合は、
その全 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") %>' />