Derby 10.5のDerby Reference Manual を参考にしてます(http://db.apache.org/derby/manuals/index.html#docs_10.5).
ほとんどうまってないし,間違いがある可能性も大なので,詳しくはそちらを参考にしてください.
Derby property reference
この節は,Derby のプロパティに関するリファレンス情報を提供します.これらのプロパティを使用するには「Derby Developers' Guide」の"Working with Derby properties"を参照してください.
Scope of Derby properties
Derby のプロパティは以下のスコープの一つ以上に属しています.
- system-wide
system-wide プロパティは,系全体に適用します.適用可能な全てのデータベス.テーブルを含みます.
- プログラムで設定
プログラムでのsystem-wide プロパティの設定は,derby.properties ファイルで設定されるdatabase-wide やsystem-wide プロパティより優先される.
- derby.properties ファイルでの設定
derby.properties ファイルは,Derby ドライバがロードされるとき,systemレベルでプロパティを設定するために任意で作られるファイルである.
derby.system.home プロパティで定義されたディレクトリからこのファイルを探します.
derby.system.home 以外のプロパティは derby.properties ファイルに記述することで設定できます.
- database-wide
database-wide プロパティはデータベース内に蓄えられ,特定のデータベースのみに有効である.
注意:database-wide プロパティはデータベースに蓄えられ,デプロイに対し簡単であり,安全である.
system-wide プロパティは開発過程においては実務的である.
スコープ,優先度,持続性に関する詳しい情報は,「Derby Developers' Guide」の"Properties overview"を参照してください.
Dynamic and static properties
ほとんどのプロパティは動的である.これはDerby が動いている最中に設定が可能であり,Derby を再起動することなく設定が変わることを意味している.即座に変わる場合もあれば,次の接続で変わる場合もある.
いくつかのプロパティは静的である.これはDerby が動いている間に,設定を変更しても影響がないことを意味している.再起動あるいは,起動する前に設定する必要がある.
注意:derby.properties ファイルで,あるいはDerby をブートするアプリケーションのコマンドラインでのプロパティの設定は常に静的である.というのは,これらのファイルやパラメータは起動時にのみ,Derbyが読み込むからである.
以下のような方法においてプロパティ設定は,動的である可能性を持っている
- database-wide プロパティ
- Derby engine が組み込まれたアプリケーションのプロパティを通したsystem-wide プロパティ
Derby properties
Derby特性は,loging ステートメントやロックのモニタリングやトレーシングのようにシステムやデータベースを設定するために使用される.
Derby properties テーブルは全てのコアのDerby プロパティを列挙している.
Derby プロパティの設定の方法に関するより詳しい情報は「Derby Developer's Guide」の"Setting Derby properties"を参照してください.
注意:真偽の値をもつプロパティを設定するときは, true の周りの余分な空白は取り除くべきである.
trueの周りの余分なスペースは,前に設定しているものかかわりなく,そのプロパティを偽に設定する.
database-wide プロパティの設定を無効にするには, null に値を設定すれば良い.
この行為の結果を決定するのは,以下のようにプロパティの検索順序をもってプロパティが読み込まれる(「Derby Developer's Guide」の"Precedence of properties"に述べられているように).
- [*]System-wide プロパティ をプログラミング的に設定する(アプリケーションを開始するときにJVMのコマンドラインオプションとして,あるいはアプリケーションコードないに埋め込む)
- Database-wide プロパティ
- [*]derby.properties ファイル内に設定するsystem-wide 特性
database-wide プロパティをnull に設定することは,データベースプロパティのリストからそのプロパティを取り除く効果があり,derby.properties のシステムプロパティにその項目があるならば,復元する.
検索の結果値が見つからないもとは,組み込みのデフォルトが適用される.
Scope のSはsystem-wide , Dはdatabase-wide,Cはよくわからん....XはYesを意味してる.
system-wide の設定は,derby.properties に記述するか,アプリケーション起動時あるいはアプリケーションコード中にコマンドラインオプションとして指定.
database-wide の設定は,DB接続後,CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY()で設定.
Property | Scope | Dynamic |
derby.authentication.ldap.searchAuthDN | S, D | |
derby.authentication.ldap.searchAuthPW | S, D | |
derby.authentication.ldap.searchBase | S, D | |
derby.authentication.ldap.searchFilter | S, D | |
derby.authentication.provider | S, D | |
derby.authentication.server | S, D | |
derby.connection.requireAuthentication | S, D | |
derby.database.defaultConnectionMode | S, D | X* |
derby.database.forceDatabaseLock | S | |
derby.database.fullAccessUsers | S, D | X* |
derby.database.noAutoBoot | D | |
derby.database.propertiesOnly | D | X |
derby.database.readOnlyAccessUsers | S, D | X* |
derby.database.sqlAuthorization | S, D | |
derby.infolog.append | S | |
derby.jdbc.xaTransactionTimeout | S, D | X |
derby.language.logQueryPlan | S | |
derby.language.logStatementText | S, D | |
derby.locks.deadlockTimeout | S, D | X |
derby.locks.deadlockTrace | S, D | X |
derby.locks.escalationThreshold | S, D | X |
derby.locks.monitor | S, D | X |
derby.locks.waitTimeout | S, D | X |
derby.replication.logBufferSize | S | |
derby.replication.maxLogShippingInterval | S | |
derby.replication.minLogShippingInterval | S | |
derby.replication.verbose | S | |
derby.storage.initialPages | C | |
derby.storage.minimumRecordSize | S, D, C | X |
derby.storage.pageCacheSize | S | |
derby.storage.pageReservedSpace | S, D, C | X |
derby.storage.pageSize | S, D, C | X |
derby.storage.rowLocking | S, D | |
derby.storage.tempDirectory | S, D | X |
derby.stream.error.field | S | |
derby.stream.error.file | S | |
derby.stream.error.method | S | |
derby.stream.error.logSeverityLevel | S | |
derby.system.bootAll | S | |
derby.system.durability | S | |
derby.system.home | S | |
derby.user.UserName | S, D | X |
* property の変化がdynamic であるとき,このプロパティに対するメインページを参照してください.
Derby tools に関連する付加的なプロパティがある.tool特有のプロパティに関するさらなる情報は,Derby Tools and Utilites Guide を見ましょう.的なことが書いてあった...
工事中
工事中
ユーザ認証のための,認証提供方法を指定します.
以下が指定できます.
- LDAP
外部のLDAPディレクトリサービス
- BUILTIN
Derby のユーザ認証(derby.user.UserNameで設定)
- A complete Java class name
ユーザ認証を提供するユーザが定義したクラス
LDAPを使用する場合は, 次の項目を設定する必要がある,
- derby.authentication.server
また,以下の項目が設定可能.
- derby.authentication.ldap.searchAuthDN
- derby.authentication.ldap.searchAuthPW
- derby.authentication.ldap.searchFilter
- derby.authentication.ldap.searchBase
異なる認証サービスを提供するクラスを書くことができる.が,詳しい話はじきにかこう.
default は,BUILTIN
derby.authentication.provider={ LDAP | BUILTIN | classProviderName }
derby.authentication.provider で指定した外部ディレクトリサービスのロケーションを指定
derby.authentication.server=
[{ lda: | ldaps: | nisplus: }]
[//]
{
hostname [ : portnumber] |
nisServerName/nisDomain
}
derby のユーザ認証をONにする.
ユーザ認証がONの場合,connection の際,ユーザ名とパスワードが必要になる.
ユーザの認証形式は,derby.authentication.provider で指定する.
default は,false
derby.connection.requireAuthentication={ true | false }
ユーザ認可特性のひとつ
この特性が設定されたデータベースやシステムのユーザに対してデフォルトの接続モードを決定する.
とりうる値は以下の通りです.
- noAccess
- readOnlyAccess
- fullAccess
default は,fullAccess
derby.database.defaultConnectionMode={ noAccess | readOnlyAccess | fullAccess }
工事中
工事中
工事中
true に設定されているとき,database-wide 特性がsystem-wide 特性によって上書きされないことを保証します.
false に設定されているとき,あるいは何も設定されていないとき,database-wide 特性はsystem-wide 特性によって上書きされうる.この特性は,データベースの環境が起動される環境によって修正されないことを保証します.
この特性はsystem 特性によって上書きされることは絶対にありません.
CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(
'derby.database.propertiesOnly','true')
Derby のシステムディレクトリを指定.ここに,derby.properties を配置する.
default はカレントディレクトリ.
derby 起動時に以下のように指定.
-Dderby.system.home=C:¥derby
使用方法は以下の二つ
- derby.authentication.proivder でBUILTIN を設定したときに, user と password を設定する.
- derby.authentication.provider でLDAP を設定し,derby.authentication.ldap.searchFilterでderby.user を設定したときに,局所的なユーザDNsをCache する.
derby.user.{UserName=Password} | UserName=userDN }