2005.07.25
CloudscapeではJDBCの機能として、データベース接続URLにて属性のリストを与えることができます。
通常は、属性のリストをセミコロン(;)で区切って、プロトコルやサブプロトコルに続けます。
Cloudscape は、それらの属性をプロパティに変換します。
また、それらの属性を Properties オブジェクトにセットして、 DriverManager.getConnection に引き渡すこともできます。
(ただし、それらの属性を system properties に設定することはできません。Properties オブジェクトにて、 DriverManager.getConnection メソッドに引き渡すことができるのみです)
属性名/属性値 のペアは、プロパティに変換され、プロパティは、接続呼出時に提供されます。
接続呼出時にプロパティが無い場合、データベース接続URLのみを含むひとつのプロパティが生成されます。
Connection conn = DriverManager.getConnection("jdbc:derby:sampleDB;create=true"); // プロパティへの属性の設定 Properties p = new Properties(); p.put("create", "true"); Connection conn = DriverManager.getConnection("jdbc:derby:sampleDB", p); // ユーザ名とパスワードの入力をパスする Connection conn = DriverManger.getConnection("jdbc:derby:sampleDB", "dba", "password");
注意 : 属性は正確に設定すること もし、不正な属性等を設定した場合、それは単に無視されます。 また、Cloudscape は、属性が正確化を解析するツールを提供しません。
属性 | 機能 | 他の属性との組み合わせ | 例 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bootPassword=key |
暗号化された新規のデータベース、またはすでに存在する暗号化されたデータベースを利用するためのキーを設定します。 最低8桁のアルファベットもしくは数字を設定してください。 |
新規にデータベースを作成する場合、create=true、dataEncryption=true と組み合わせて使用する必要があります。 その他の属性は必須ではありません。 |
-- 暗号化されたデータベースを起動
jdbc:derby:encryptedDB;bootPassword=cseveryPlace
-- 暗号化されたデータベースを新規に作成 jdbc:derby:newDB;create=true;dataEncryption=true; bootPassword=cseveryPlace |
||||||||||||||||||||||
create=true |
Cloudscape に接続した、データベース接続URLに含まれる設定に基づいて、スタンダードなデータベースを作成します。 もしデータベースがすでに存在する場合、存在するデータベースへの接続が生成され、SQLWarnigが発せられます。
データベース生成時に接続エラーが発生した場合でも、JDBCはデータベースを削除しません。 |
データベース名(データベース接続URLのサブプロトコルに続いた)もしくは、"databaseName=データベース名" 属性を合わせて設定する必要があります。 この属性を他の属性と組み合わせて使用することができます。 データベース作成時、地域を territory=ll_CC 書式にて設定することができます。 注意 : データベース作成時に、既にデータベースが存在すると、SQLWarning が発生します。 |
jdbc:derby:sampleDB;create=true jdbc:derby:;databaseName=newDB;create=true; |
||||||||||||||||||||||
databaseName=nameofDatabase |
接続のためのデータベース名を設定します。 サブプロトコルに続いてデータベース名を設定する代わりにこの属性を使用できます。
たとえば、これらのURL(Propertiesオブジェクト)の組み合わせは等価です:
もし、データベース名をURLの一部として、および属性の両方に設定した場合、URLの一部として設定したデータベース名が優先されます。 |
すべての他の属性と組み合わせて使用することができます。 | jdbc:derby:;databaseName=newDB;create=true | ||||||||||||||||||||||
dataEncryption=true |
データベースをディスク上の暗号化されたデータとして作成します。 暗号化についての詳細は、IBM Cloudscape Developer's Guide.の"Encrypting Databases on Disk"を参照してください。 |
create=true、 bootPassword=key 属性と組み合わせて使用する必要があります。 オプションを設定することもできます。 "encryptionProvider=providerName"、 "encryptionAlgorithm=algorithm" |
jdbc:derby:encryptedDB;create=true;dataEncryption=true; bootPassword=cLo4u922sc23aPe | ||||||||||||||||||||||
encryptionProvider=providerName |
暗号化プロバイダを設定します。 暗号化についての詳細は、IBM Cloudscape Developer's Guide.の"Encrypting Databases on Disk"を参照してください。 この属性を設定しない場合の規定の暗号化プロバイダーは、com.sun.crypto.provider.SunJCE です。 |
create=true、 bootPassword=key および dataEncryption=true と組み合わせて使用する必要があります。 また、"encryptionAlgorithm=algorithm" オプションも使用することができます。 |
jdbc:derby:encryptedDB;create=true;dataEncryption=true; encryptionProvider=com.sun.crypto.provider.SunJCE; encryptionAlgorithm=DESede/CBC/NoPadding; bootPassword=cLo4u922sc23aPe | ||||||||||||||||||||||
encryptionAlgorithm=algorithm |
暗号化のアルゴリズムを設定できます。
Javaでは一般的に、次のようにアルゴリズムを設定します Cloudscapeでは、padding タイプには、NoPadding のみ指定できます。 暗号化アルゴリズムを設定しない場合、規定値として、DES/CBC/NoPadding が使用されます。 暗号化についての詳細は、IBM Cloudscape Developer's Guide.の"Encrypting Databases on Disk"を参照してください。 |
create=true、 bootPassword=key、dataEncryption=true および encryptionProvider=providerName と組み合わせて使用する必要があります。 |
jdbc:derby:encryptedDB;create=true;dataEncryption=true; encryptionProvider=com.sun.crypto.provider.SunJCE; encryptionAlgorithm=DESede/CBC/NoPadding; bootPassword=cLo4u922sc23aPe 注意 : サポートされていない暗号化プロバイダを指定した場合、Cloudscapeは例外を発生します。 |
||||||||||||||||||||||
territory=ll_CC |
データベースの作成、またはアップデートを行う時に、この属性を 規定値ではない地域にデータベースを結びつけるのに使用できます。 システム規定のデータベース地域を上書きする場合、システムの規定地域は java.util.Locale.getDefault() を使用することによって得られます。 Language codes consist of a pair of lower case letters that conform to ISO-639 地域を ll_CC として設定できます。ll は2文字で言語コードをあらわします、 CC は2文字で、国コードを表します。 言語コードは 小文字のペアから成り立ちます。ISO-639 に準拠しています。
国コードは 大文字のペアから成り立ちます。ISO-3166 に準拠しています。
|
地域属性は、データベース作成時のみ使用できます。 |
次の例では、新規データベースを、言語:スペイン語、国:メキシコで作成しています。 |
||||||||||||||||||||||
logDevice=logDirectoryPath |
logDirectoryPath は、作成またはリストア時のデータベースログを格納するためのディレクトリへのパスを設定します。 もし、相対パスを指定した場合、logDirectoryPath は、絶対パスの内部に作成されます。 |
create=true、 createFrom、restoreFrom もしくは rollFowardRecoveryFromと合わせて使用してください。 |
jdbc:derby:newDB;create=true;logDevice=d:/newDBlog | ||||||||||||||||||||||
password=userPassword |
ユーザ名に対して有効なパスワード |
user=userNameと合わせて使用する。 |
jdbc:derby:toursDB;user=jack;password=upTheHill | ||||||||||||||||||||||
rollForwardRecoveryFrom=Path |
起動時に rollForwardRecoveryFrom=Path を設定することで、バックアップコピーを利用し、 アーカイブおよびアーカイブログを使用したロールフォワード回復を行い、データベースをリストアするための URLを指定できます。 ロールフォワード回復をデータベースのリストアに使用するには、 回復しようとする時点以降のすべてのアーカイブおよびアクティブログファイル、 データベースのバックアップコピーがとられている必要があります。 また、すべてのログファイルが、データベースの log ディレクトリに置かれている必要があります。 完全バックアップから、データベースをリストアした後に、 トランザクションが、オンラインアーカイブログ、およびアクティブログから再実行されます。 |
この属性は、createFrom、 restoreFrom、 および create とは併用できません。 |
URL: jdbc:derby:wombat;rollForwardRecoveryFrom=d:/backup/wombat | ||||||||||||||||||||||
createFrom=Path |
起動時に完全バックアップを使用して接続URLから、データベースをリストアする時に、restoreFrom=Path属性で、 その場所を指定できます。 Cloudscape.system.homeに同名のデータベースが複数存在する場合、 バックアップからコピーされた内容で、再起動時に、すべてのデータベースは削除されます。 バックアップがとられたときにログファイルが同じ場所にコピーされた場合、 logDevice 属性によって、withrestoreFrom=Path で別の場所に格納されたログを共用できます。、 |
この属性は、createFrom、 rollforwardrecoveryFrom、 および create とは併用できません。 |
URL: jdbc:derby:wombat;restoreFrom=d:/backup/wombat | ||||||||||||||||||||||
restoreFrom=Path |
場所を指定して完全バックアップからデータベースをリストアする接続URLの起動時、restoreFrom=Pathを設定できます。 もし同名のデータベースが Cloudscape.system.home に存在する場合、 バックアップからコピーされた内容で、再起動時に、すべてのデータベースは削除されます。 バックアップがとられたときにログファイルが同じ場所にコピーされた場合、 logDevice 属性によって、withrestoreFrom=Path で別の場所に格納されたログを共用できます。、 |
この属性は、createFrom、 rollforwardrecoveryFrom、 および create とは併用できません。 |
URL: jdbc:derby:wombat;restoreFrom=d:/backup/wombat | ||||||||||||||||||||||
shutdown=true |
databaseName で指定したデータベースをシャットダウンします。 (データベースに再接続しデータベースを再起動します) databaseName を指定しない場合、Cloudscape 全体がシャットダウンされます。 ひとつのデータベースをシャットダウンする場合、Cloudscapeプラットフォームは、そのデータベースに最後のチェックポイントを生成します。 システム全体をシャットダウンする場合、Cloudscapeは、最後のチェックポイントをすべてのシステムデータベースに作成し、 JDBCドライバーの登録を削除し、起動したJVMを終了します。 シャットダウンが成功すると、Cloudscape がシャットダウンされ、コネクションが切断されたことを示す、SQLExceptionが発せられます。 一旦 Cloudscape をシャットダウンしたら、リスタートするには、JDBCドライバーを再度読み込む必要があります。 Cloudscape の再起動については、IBM Cloudscape Developer's Guideの Chapter 1 "Shutting Down the System" を参照。 チェックポイントとは、すべてのデータおよびトランザクション情報が、ディスクに書き込まれた状態を意味します。 つまり、次回の接続時に、リカバリを実行する必要がありません。 システム全体へのシャットダウンは、組み込みアプリケーションの場合にのみ使用されます。 注意 : DriverManagerへのいかなる要求も、shutdown=true 属性とともに使用された場合、例外を発生します。 |
-- システム全体のシャットダウン
-- salesDB のシャットダウン |
|||||||||||||||||||||||
user=userName |
システムに対して有効なユーザ名をパスワードとともに設定します。 認証機能が有効な場合、有効なユーザ名とパスワードが要求されます。 |
password=userPassword と共に使用します。 |
以下の接続URLは、ユーザ jill にて、 toursDBに接続します。 jdbc:derby:toursDB;user=jill;password=toFetchAPail | ||||||||||||||||||||||
(no attributes) |
なにも属性を設定しない場合、databaseName は設定しなければいけません。 カレントシステムディレクトリに指定された名前のデータベースが存在する場合、Cloudscapeは、そのデータベースへのコネクションを開きます。 もし、データベースが存在しない場合、コネクションは データベースが見つからない旨のSQLExceptionを返すように試みます。 |
jdbc:derby:mydb |
|