このトピックには、XML スクリプト DTD が記載されています。詳細については、XML スクリプト・ツールの使用を参照してください。
<!ELEMENT Root ( AddJdbcMaster | AddReplMaster | AddJdbcMirror | AddReplMirror | AddGroup | AddUser | AddSubscriptionSet | AddJdbcSubscription | AddFileSubscription | AddDproprSubscription |AddUploadSubscription | AddCustomSubscription | AddAdapter | AddServer | ResetUser | ResetGroup | ResetAll | RemoveJdbcMaster | RemoveReplMaster | RemoveJdbcMirror | RemoveReplMirror | RemoveGroup | RemoveUser | RemoveSubscriptionSet |RemoveSubscription | RemoveAdapter | RemoveServer | AlterUser | AlterGroup | AlterFileSubscription | AlterJdbcSubscription | AlterUploadSubscription | AlterDproprSubscription | AlterSubscriptionSet | AlterJdbcMaster | AlterJdbcMirror | AlterReplMaster | AlterReplMirror | AlterAdapter )*> <!--ノードの下にある NULL エレメントは、そのノードの値がヌルであることを意味して います。この場合、データベースに NULL 値を挿入する必要があります。 下にリストされた一部のエレメントには、NULL 値を指定可能なものがあります。--> <!ELEMENT NULL EMPTY> <!--マスターおよびミラー・データベース関連タグ: DB2 Everyplace 同期サーバーは、マスター (ソース) データベースからのデータをミラー・ データベースへ複製し、次にミラー・データベースをモバイル・デバイスに同期化します。 このため、複製されたサブスクリプション定義はソースおよびミラー・データベースを 参照していなければなりません。ミラーおよびマスター・データベースは、 その複製テクノロジーに基づいて 2 つのタイプ、JDBC および DPropR に分かれます。 DPropR マスターおよびミラーはDB2 レプリケーションを使用して複製されます。 このため、マスターとミラーはどちらもDB2 データベースでなければなりません。 JDBC マスターおよびミラーは、同期サーバーの JDBC レプリケーション・システムを 使用して複製されます。マスター (ソース) は、正常に機能する JDBC ドライバーを 持っていれば、どのようなデータベースでもかまいません。 ミラーは DB2 でなければなりません。このマスターに対して、特定の データ・タイプ・マッピングが同期サーバーによって行なわれます。 ソース・データベースでは一部のデータ・タイプはサポートされていません。 DPropR サブスクリプションの場合、ソースとミラーの間のレプリケーション・ セットアップは、XML ツールを実行して DPropR サブスクリプション (AddDproprSubscription タグ) を追加し、このミラーのモバイル・デバイスに対する 同期化を使用可能にする前に行なわなければなりません。 これを行なうには、ユーザーはコントロール・センターでレプリケーション・ソースとして ソース表を定義し、それらを複製できるようにしておくことが必要になります。次に ユーザーは、レプリケーション・サブスクリプション (これは DPropR 用語です) を 作成する必要があります。DB2e 同期サーバーは、DPropR レプリケーション・ サブスクリプションのアプライ修飾子がミラー・データベース名と同じであることを 期待しています。この例としては、VNURSE サンプル・アプリケーションの "M_VNURSE" があります。ユーザーはこのミラー・データベース名を アプライ修飾子として入力する必要があります。このレプリケーション・ サブスクリプションが正常に作成されると、ユーザーは XML ツールを実行して このレプリケーション・サブスクリプションを同期サーバーへ導入し、ミラーおよび 制御データベースに同期インフラストラクチャーを作成します。レプリケーション・ サブスクリプション名は、ユーザーが XML ツールで複雑さを避けるために使用する 同期サーバー DPropr 表サブスクリプション名に一致していなければなりません。 MDAC (DB2e 同期サーバー 管理 GUI) は、プロセスの詳細を公開することなく、 レプリケーション・サブスクリプション作成および同期サーバー DPropR サブスクリプション作成を管理します。このようにして、レプリケーション・ サブスクリプションと同期サーバー DPropR サブスクリプションの両方に同じ サブスクリプション名が使用されます。 --> <!-- AddJdbcMaster タグは、JDBC マスター (ソース) データベースの接続情報を 挿入します。この記述は、サブスクリプションのソース・データベースを設定するために JDBC サブスクリプション関連エレメントから参照されます。このタグに含まれる 子エレメントは、以下のとおりです。 'Database'(最大長 =255) は、ソース・データベースへの JDBC URL です。 'Driver'(最大長 =255) は、JDBC ドライバー・クラス名です。 'UserId'(最大長 =128) は、JDBC を使用してこのデータベースに接続する際に 使用する ID です。 'Password'(最大長 =128) は、JDBC を使用してこのデータベースに接続する際に使用する パスワードです。--> <!ELEMENT AddJdbcMaster (Database, Driver, UserId, Password)> <!-- AddReplMaster タグは、DPropR マスター (ソース) データベースの記述を挿入します。 この記述は、サブスクリプションのソース・データベースを設定するために DPropR サブスクリプション関連エレメントから参照されます。このタグに含まれる子エレメントは 以下のとおりです。 'System'(最大長 =128) は、ソース・データベースの DB2 システム名です。 (DB2 UDB コントロール・センターで表示されるとおり) 'Instance'(最大長 =8) は、ソース・データベースの DB2 インスタンス名です。 (DB2 UDB コントロール・センターで表示されるとおり) 'Database'(最大長 =18) は、ソース・データベースの DB2 データベース名です。 (DB2 UDB コントロール・センターで表示されるとおり) 'UserId'(最大長 =128) は、JDBC を使用してこのデータベースに接続する際に 使用する ID です。 'Password'(最大長 =128) は、JDBC を使用してこのデータベースに接続する際に使用する パスワードです。 'DatabaseAlias'(最大長 =18) は、このデータベースに使用される別名です。--> <!ELEMENT AddReplMaster (System, Instance, Database, UserId, Password, DatabaseAlias?)> <!ELEMENT System (#PCDATA)> <!ELEMENT Instance (#PCDATA)> <!ELEMENT Database (#PCDATA)> <!ELEMENT UserId (#PCDATA)> <!ELEMENT Password (#PCDATA|NULL)*> <!--Password of databases can't be null, but password of groups can be null.--> <!ELEMENT DatabaseAlias (#PCDATA|NULL)*> <!-- AddJdbcMirror タグは、JDBC ミラー・データベースの接続情報を挿入します。 この記述は、サブスクリプションのミラー・データベースを設定するために JDBC サブスクリプション関連エレメントから参照されます。このタグに含まれる子エレメントは 以下のとおりです。 'Database'(最大長 =255) は、ミラー・データベースの DB2 データベース名です。 (DB2 UDB コントロール・センターで表示されるとおり) 'Driver'(最大長 =255) は、JDBC ドライバー・クラス名です。 'UserId'(最大長 =128) は、JDBC を使用してこのデータベースに接続する際に 使用する ID です。 'Password'(最大長 =128) は、JDBC を使用してこのデータベースに接続する際に使用する パスワードです。 'AddCustomLogic' タグは、1 つ以上のユーザー定義 CustomLogic インプリメンテーション・ クラスをこのミラー・データベースに関連付け、レプリケーション動作をカスタマイズ 可能にします。カスタム・ロジック・インプリメンテーションでのエラーは レプリケーション失敗の原因になるため、注意が必要です。 このエラーは、複製を強要した場合、複製されたサブスクリプションに対する変更を 妨げる場合があります。 --> <!ELEMENT AddJdbcMirror (Database, Driver, UserId, Password, SyncWindow?, AddCustomLogic* )> <!ELEMENT Driver (#PCDATA)> <!ELEMENT SyncWindow (#PCDATA|NULL)*> <!-- AddReplMirror タグは、DPropR ミラー・データベースの記述を挿入します。 この記述は、サブスクリプションのミラー・データベースを設定するために DPropR サブスクリプション関連エレメントから参照されます。このタグに含まれる子エレメントは 以下のとおりです。 'Database'(最大長 =18) は、ミラー・データベースの DB2 データベース名です。 (DB2 UDB コントロール・センターで表示されるとおり) 'UserId'(最大長 =128) は、JDBC を使用してこのデータベースに接続する際に 使用する ID です。 'Password'(最大長 =128) は、JDBC を使用してこのデータベースに接続する際に使用する パスワードです。 'SyncWindow'(整数) は、マスターとミラーの間のレプリケーションを繰り返す 時間 (秒) です。 'AddCustomLogic' タグは、1 つ以上のユーザー定義 CustomLogic インプリメンテーション・ クラスをこのミラー・データベースに関連付け、レプリケーション動作を カスタマイズ可能にします。 --> <!ELEMENT AddReplMirror (Database, UserId, Password, SyncWindow, AddCustomLogic*)> <!--DB2Everyplace 同期サーバーのユーザーおよびグループ: 同期サーバーは、「ユーザー」('AddUser' タグを参照) の概念を使用して、デバイスを サブスクリプションに関連付け、そのデバイスを同期化します。 ユーザーはグループ ('AddGroup' タグを参照) に属します。 1 つのグループには、複数のサブスクリプション・セットが含まれます ('AddSubscriptionSet' タグを参照)。 1 つのサブスクリプション・セットには、複数のサブスクリプション ('AddXYZSubscription' タグを参照) が含まれます。 サブスクリプションは、モバイル・データベースに同期化されるデータベース・スキーマの サブセットを定義します。 この XML DTD は、これらの概念的エンティティーを作成し、互いに関連付ける方法を 記述します。 LDAP 使用可能インストールの場合、XML ツールはユーザー/グループを無視し、 ユーザー/グループ・タグを除去します。このようなユーザー/グループ保守は、 同期サーバーでは行なわれません。 --> <!--AddGroup タグは、グループの記述を挿入します。 'Name'(最大長 =18) は、固有のグループ名です。 'Description'(最大長 =128) は、テキスト記述です。 'Enabled' は 'Y' または 'N' のいずれかです。'Y' の場合、このグループのメンバーは 同期化が可能で、'N' の場合、同期化はできません。 --> <!ELEMENT AddGroup (Name, Description?, Enabled, (IncludeSubscriptionSet | AddDataFilter)*) > <!ELEMENT Name (#PCDATA)> <!ELEMENT Description (#PCDATA|NULL)*> <!ELEMENT Enabled (#PCDATA)> <!--IncludeSubscriptionSet タグは、このタグを含むグループ内のサブスクリプション・ セット (共に同期化されるサブスクリプションの論理グループ) を組み込みます。 データ同期を可能にするために同期化されるデータ・グループ・メンバー (ユーザー) の 種類を記述するためには、グループに空でないサブスクリプション・セットが含まれて いなければなりません。 'Name'(最大長 =18) は、関連したサブスクリプション・セットの名前です。 'Order' は、サブスクリプション・セットの順序を伝える整数です。これが指定されない 場合は、'AddGroup' タグの内部に現れる順序が使用されます。 'Name' で識別されるサブスクリプション・セットが存在しない場合、 このサブスクリプション・セットを組み込む AddGroup タグは失敗し、 グループは作成できません。 --> <!ELEMENT IncludeSubscriptionSet (Name, Order?)> <!--AddDataFilter タグは、このタグを含むグループのデータ・フィルターを宣言します。 データ・フィルターによって、指定のグループまたはユーザーのモバイル・データベースに ソース表の一部を送信することが可能になります。データ・フィルターはまた、 それに基づいて少し異なるターゲット (モバイル) データベースを作成するために役立ちます ('ColumnDataFilter' および 'Constrnt' タグを参照)。 データ・フィルターは 'Name' と 'Value' で構成されます。 'Name'(最大長 =18) は、実際のフィルター操作の where 文節で参照される任意の名前を 指定します (このような where 文節は、サブスクリプション設定で表ごとに設定されます)。 'Value'(最大長 =36) は、パラメーター名を置換するためのデフォルト値を指定します (この値は、各ユーザーの設定でオーバーライドされます)。 同期化するデータは、サブスクリプション表のミラー - ターゲット where 文節で、 次のような条件でフィルター操作することができます。 'ACOLUMN IN (SELECT ACOLUMN FROM TABLE :name=value)' 'AddUser' タグに 'OverrideDataFilter' タグを持たせる場合、ユーザーのグループは 同じデータ・フィルターを作成する必要があります。言い換えると、データ・フィルターは グループについて作成され、ユーザーによりオーバーライドされます。 データ・フィルターがグループ・レベルで作成される理由は次のとおりです。 グループには、行のフィルター操作 where 文節でこれらのデータ・フィルターを使用する サブスクリプションが含まれます。一部のユーザーが指定のデータ・フィルターを持って いない場合、それらのユーザーはデータ・フィルターを使用したサブスクリプションを 同期化することはできず、そのため関係は、行フィルターを行なう (モバイルへのミラー) サブスクリプションを持つグループは定義された関連データ・フィルターを 持っていなければならないといったものになり、ユーザーはこれらのデータ・フィルターを 継承します。 サブスクリプションで使用されないデータ・フィルターをさらに定義しても何の効果もなく、 同期化中に無視されます。 データ・フィルターは、where 文節フィルターをミラーリングして複製行をフィルターに 掛けるためにマスターで使用することはできません。この理由は、 レプリケーションはグループのコンテキストでは実行されず、すべてのグループから 独立しているためで、グループのデータ・フィルターは不適切であり、 誤って使用されるとレプリケーション中に SQL エラーを引き起こします。 ('ColumnDataFilter' および 'Constrnt' タグも参照。) --> <!ELEMENT AddDataFilter (Name, Value?) > <!ELEMENT Value (#PCDATA|NULL)*> <!ELEMENT OverrideDataFilter (Name, Value?) > <!--AddUser タグはユーザーを作成します。モバイル・データベースはそれぞれ、 同期サーバーとの同期のために、対応するユーザーを持っていなければなりません。 'Name'(最大長 =18) は、固有のユーザー名です。 'UserGroup'(最大長 =18) は、既存グループの名前です。 このようなグループが存在しない場合、AddUser は失敗し、ユーザーを追加することは できません。 'Description'(最大長 =128) はユーザーのテキスト記述です。 'Password'(最大長 =18) は、同期サーバーと同期化するために、 モバイル・デバイス上でユーザーが指定しなければならないパスワードです。 'OverrideDataFilter' エレメントを使用すると、このユーザーは、ユーザーのグループに 追加されたデータ・フィルターにカスタム値を提供することができます。 'AddDataFilter' タグのコメントを参照してください。 --> <!ELEMENT AddUser (Name, UserGroup?, Description?, Password?, LDAPProperties?, (OverrideDataFilter | AddDevice)*) > <!ELEMENT UserGroup (#PCDATA|NULL)*> <!--AddDevice タグは、ユーザーのデバイス記述を追加します。通常、このような記述は、 同期化を実行している実デバイスに基づいて、同期化中に同期サーバーによって 作成されます。ただし、このタグは、この機能を必要とする可能性のあるテスト・ケース および適応させるために提供されるものです。 'Id'(最大長 =32) は、サーバーによって生成されます。 'Type' は、列挙されたデバイス・タイプを指すストリングです。この目的で使用される ストリング定数が下にリストされています。このタグで使用されるデバイス・タイプは このうちの 1 つです。これらのデバイス・タイプは、制御データベース内で整数に マッピングされます。必要であれば、ユーザーは XML でもこの番号を使用することが できます (ごく最近になってデバイス・タイプが追加され、XML ツールがこれを 知らない場合など)。 デバイス・タイプ・ストリングには以下があります。 PALM または PALM_M68K WINCE または WINCE_ARM WIN32 または WIN32_X86 WIN32UNICODE または WIN32UNICODE_X86 NEUTRINO または NEUTRINO_X86 MIDP LINUX または LINUX_X86 EMBEDDEDLINUX または EMBEDDEDLINUX_X86 EPOC または EPOC_ARM EPOCUNICODE または EPOCUNICODE_ARM また、デバイス・プロセッサーに基づいて、他の変種のセットも定義されています。 ただし、これらはまだ、同期サーバーでは使用されません。このため、たとえば XML が WIN32_MIPS をデバイス・タイプとして指定する場合、プロセッサーがまだ区別されて いないために、WIN32 にデフォルト設定されます。 ストリング定数には以下があります。 WINCE_SH3 WINCE_SH4 WINCE_MIPS WINCE_X86 EPOC_X86 EPOCUNICODE_X86 'Enabled' フィールドは、'Y' または 'N' のいずれか 1 文字です。 --> <!ELEMENT AddDevice (Id, Type, Enabled)> <!ELEMENT Id (#PCDATA) > <!-- LDAP 使用可能セットアップの場合、同期サーバーのユーザーおよびグループ情報は LDAP サーバーから検索され、サブスクリプション・セットに関連付けるために 制御データベースに保管されます。XML ツールを使用してユーザーを作成しているときは、 LDAP サーバーでのユーザーの作成に使用するために、ユーザーの LDAPProperties を 指定する必要があります。FirstName と LastName が必要です。 同期サーバーを使用した同期化を可能にするには、LDAP ユーザーは「同期グループ」にも 属していなければなりません。ユーザーを同期グループに関連付けるには、1 つ以上の AddToSyncGroup タグを使用できます。同期グループは、同期サーバー・インストールの LDAP 特定プロパティーで定義されます。 同期グループ名は、文字 'DB2e' で始まっていなければなりません。 注: LDAP 以外のセットアップを LDAP 使用可能セットアップにマイグレーション中、 同期サーバーは LDAP サーバーでユーザーを作成するために、'DSY' をデフォルト FirstName および LastName として使用します。 --> <!ELEMENT LDAPProperties (FirstName, LastName, AddToSyncGroup*, RemoveFromSyncGroup*, E-mail?, PreferredLanguage?, Interest?)> <!ELEMENT FirstName (#PCDATA)> <!ELEMENT LastName (#PCDATA)> <!ELEMENT AddToSyncGroup (#PCDATA)> <!ELEMENT RemoveFromSyncGroup (#PCDATA)> <!ELEMENT E-mail (#PCDATA)> <!ELEMENT PreferredLanguage (#PCDATA)> <!ELEMENT Interest (#PCDATA)> <!--サブスクリプション・セットは、共に同期化されるサブスクリプションの 論理グループです。ユーザーのグループは、個々のサブスクリプションではなく、 定義済みのサブスクリプション・セットに対して同期化を行ないます。 'Name'(最大長 =18) はサブスクリプション・セットの名前です。 'Description'(最大長 =128) は、テキスト記述です。 'Signature'(最大長 =128) - 使用されません。 'IncludeSubscription' は、このサブスクリプション・セットに組み込む必要のある 既存のサブスクリプションを参照します。サブスクリプションが存在しない場合、 このサブスクリプション・セットの作成は失敗します。 --> <!ELEMENT AddSubscriptionSet (Name, Description?, Signature?, (IncludeSubscription*))> <!ELEMENT Signature (#PCDATA|NULL)*> <!--IncludeSubscription タグは、AddSubscriptionSet タグによって使用されます。 'Name'(最大長 =18) は、組み込まれる既存サブスクリプションの名前です。 'Order' は、親サブスクリプション・セットにも含まれる他のサブスクリプション間での サブスクリプションの順序を識別する整数です。 サブスクリプション・セットに含まれるサブスクリプションは、この順序で同期化 されます。 指定されない場合は、XML にリストされた順序が使用されます。 --> <!ELEMENT IncludeSubscription (Name, Order?)> <!--AddJdbcSubscription タグは、ミラー・データベースからのリレーショナル・ データをモバイル・データベースへ同期化するための JDBC サブスクリプションを 作成します。マスターからミラーへのレプリケーションも、DPropR ではなく 同期サーバー・レプリケーション・メカニズムで処理されます。 'Name'(最大長 =18) は、サブスクリプションの固有名です。 'Description'(最大長 =128) は、テキスト記述です。 'SubAdapter'(最大長 =18) は、このサブスクリプションが使用する既存のアダプターの 名前です。 'EncryptionLevel' は、使用する暗号化レベルを識別する整数です。 0 は暗号化しないことを示します。1 は 56 ビット、2 は 128 ビットの暗号化を 示します。 'Block' は 'Y' または 'N' です。'Y' に設定すると、サブスクリプションは 同期化できません。 ターゲット・デバイスに対して、サブスクリプションが使用できないことの通知は 行なわれません。 'MasterDb'(最大長 =255) はマスター・データベース JDBC URL です。'MasterDb' は 'MasterDriver' とともに、その定義を使用するすべてのサブスクリプションで共用される、 既存のマスター・データベース定義を参照します。 'MasterDriver'(最大長 =255) は、マスター・データベースに接続するための JDBC ドライバーです。 複合キー 'MasterDb' および 'MasterDriver' によって参照されるデータベース定義は、 事前に定義されている必要があります。 (詳細については、AddJdbcMaster タグを参照してください。) 'MirrorDb' および 'MirrorDriver' タグは、MasterDb がマスター・データベースを 指すように、既存のミラー・データベース定義を指定します。 'AddTable' タグは、同期化と複製のいずれか、または両方を行なうために、 このサブスクリプションにデータベース表を追加します。 アップロード・サブスクリプション (ミラーを持たず、モバイルからソース・ データベースへの挿入のみを持つ) は、'AddUploadSubscription' タグで 処理されることに注意してください。 警告: サブスクリプションの追加は、この操作中、システムの影響を受ける部分を ブロックし (影響を受けるミラー・データベースは主要なコンポーネントです)、 サーバーはこれを使用できなくなります。 サーバーの稼動中はこのような頻繁な操作を避けてください。 そうでないと、サーバーのパフォーマンスが低下します。 'Replicate' 属性は "TRUE" または "FALSE" のいずれかです。指定されない場合、 この属性は "TRUE" にデフォルト設定されます。サブスクリプションを 作成した後、レプリケーションが実行され、新しいミラー表にデータが入れられ、 同期の準備が行なわれます。 Replicate="FALSE" を指定することでレプリケーションがスキップされた場合、 サブスクリプションはレプリケーションが手動で、または関連ミラーに スケジュールされたレプリケーションの一部として実行されるまで ブロックされます。 複数のサブスクリプションの追加、ドロップ、編集を行なうとき、 パフォーマンス上の観点から、最初と最後のレプリケーション試行を避け、 変更の前後にレプリケーションを手動で実行するために、Replicate="FALSE" を 設定することが必要になる場合があります。 サブスクリプション・セットアップ内のエラーが、それ以降のレプリケーションをも 妨げる場合があります。このような場合、修正を適用するために サブスクリプションの編集を可能にするには、レプリケーションをスキップ しなければなりません。手動でレプリケーションを行なうには、ユーザーは "dsyreplicate" コマンド行ツールを使用できます。 --> <!ELEMENT AddJdbcSubscription (Name, Description?, SubAdapter, EncryptionLevel?, Block?, MasterDb, MasterDriver, MirrorDb?, MirrorDriver?, (AddTable*))> <!ATTLIST AddJdbcSubscription Replicate (TRUE | FALSE) "TRUE"> <!ELEMENT SubAdapter (#PCDATA)> <!ELEMENT EncryptionLevel (#PCDATA)> <!ELEMENT Block (#PCDATA)> <!ELEMENT MasterDb (#PCDATA)> <!ELEMENT MasterDriver (#PCDATA)> <!ELEMENT MirrorDb (#PCDATA|NULL)*> <!ELEMENT MirrorDriver (#PCDATA)> <!--AddUploadSubscription は、モバイル・データベースからソース・データベースへの 挿入を可能にするサブスクリプションを作成します。アップロード・サブスクリプションは 関連するミラー・データベースを持っていません。 子フィールドの説明については、AddJdbcSubscription タグのコメントを参照してください。 'AddTable' タグは、同期化するデータベース表をこのサブスクリプションに追加します。 --> <!ELEMENT AddUploadSubscription (Name, Description?, SubAdapter, EncryptionLevel?, Block?, MasterDb, MasterDriver, (AddTable*))> <!--AddDproprSubscription は、ミラー・データベースからモバイル・データベースへ リレーショナル・データを同期化するために、同期サーバー DPropR サブスクリプションを 作成します。マスターからミラーへの複製は、DB2 DPropR レプリケーションによって 処理されます。DB2 DPropR は、レプリケーション・サブスクリプションの概念を 持ちます。これは、ここで説明している同期サーバー・サブスクリプションとは 異なるものです。同期サーバー・サブスクリプションを作成するためには、事前に DPropR レプリケーション・サブスクリプションのセットアップを DPropR ツールを 使用して実行しておく必要があります。レプリケーション・サブスクリプションを DB2 DPropR を使用して作成しているときは、使用する同期サーバー・サブスクリプションと 同じサブスクリプション名を使用してください。また、アプライ修飾子については ミラー・データベース名を使用してください。 JDBC サブスクリプションと DPropR サブスクリプションの間の相違は、採用された レプリケーションのタイプです。DPropR レプリケーションは 2 つの DB2 データベース間で機能するため、マスター (ソース) データベースは DB2 でなければ なりませんが、JDBC サブスクリプションは JDBC 準拠の任意のデータベースに することができます。 フィールド Name、Description、SubAdapter、EncryptionLevel、および Block は 他のサブスクリプションと同一です。DPropR サブスクリプション特定のフィールドは 以下のとおりです。 'MasterSystem'(最大長 =128) は、DB2 マスター・データベース・システムです。 'MasterInstance'(最大長 =8) は、DB2 マスター・データベース・インスタンスです。 'MasterDb'(最大長 =18) はマスター・データベース名です。MasterSystem、 MasterInstance、および MasterDb はともに、既存のマスター・データベース記述を 参照する複合キーを形成します。 これは一般に 'AddReplMaster' タグによって作成されます。 そのようなデータベース定義が存在しない場合、このサブスクリプションの作成は 失敗します。 'MirrorDb'(最大長 =18) は、一般に AddReplMirror タグによって作成される ミラー・データベース定義を参照するミラー・データベース名です。 そのような記述が存在しない場合、このサブスクリプションの作成は失敗します。 同期サーバーは、レプリケーション・サブスクリプションのアプライ修飾子がこの 'MirrorDb' 名と同じであることを前提としています。 警告: サブスクリプションの追加は、この操作中、システムの影響を受ける部分を ブロックし (影響を受けるミラー・データベースは主要なコンポーネントです)、 サーバーはこれを使用できなくなります。サーバーの稼動中はこのような頻繁な 操作を避けてください。 そうでないと、サーバーのパフォーマンスが低下します。 --> <!ELEMENT AddDproprSubscription (Name, Description?, SubAdapter, EncryptionLevel?, Block?, MasterSystem, MasterInstance, MasterDb, MirrorDb, ApplyQualifier, (AddTable*))> <!ATTLIST AddDproprSubscription Replicate (TRUE | FALSE) "TRUE"> <!ELEMENT MasterSystem (#PCDATA)> <!ELEMENT MasterInstance (#PCDATA)> <!ELEMENT ApplyQualifier (#PCDATA)> <!--AddFileSubscription は、ソース・システムからモバイル・データベースへの ファイルの同期化を行なうサブスクリプションを作成します。 これに特定の子フィールドには、以下があります。 'DeviceTypes' は、このファイルを送信できるデバイス・タイプの、セミコロン (';') で 区切られたリストです。異なるデバイスには異なる特定ファイル形式が必要であるため、 これが必要になります。使用可能なデバイス・タイプは、'AddDevice' タグの コメントにリストされています。 'SourceFileName'(最大長 =255) は、ソース・システム内のファイルの名前です。 'TargetFileName'(最大長 =255) は、ターゲット・システム内のファイルの名前です。 --> <!ELEMENT AddFileSubscription (Name, Description?, SubAdapter, EncryptionLevel?, Block?, DeviceTypes?,SourceFileName, TargetFileName?)> <!ELEMENT SourceFileName (#PCDATA)> <!ELEMENT TargetFileName (#PCDATA|NULL)*> <!ELEMENT DeviceTypes (#PCDATA|NULL)*> <!--AddCustomSubscription は、カスタム・サブスクリプションを作成します。唯一の 特定フィールドは 'Other' (最大長 =4096) で、アプリケーション特定のデータを 保持します。 --> <!ELEMENT AddCustomSubscription (Name, Description?, SubAdapter?, EncryptionLevel?, Block?, Other?)> <!ELEMENT Other (#PCDATA|CDATA|NULL)*> <!ELEMENT Type (#PCDATA)> <!--AddTable タグは、JDBC、DPropR、およびアップロード・サブスクリプションに表を 組み込む機能を提供します。 'TargetSchema'(最大長 =128) は、ターゲット・デバイス上の表のスキーマです。 'TargetTable'(最大長 =128) は、ターゲット・デバイス上の表の名前です。 TargetSchema と TargetTable は共に、任意のサブスクリプションに対して固有で なければなりません。 DPropR サブスクリプションの場合、TargetSchema.TargetTable がミラー・ データベースに存在していなければなりません。 そうでないと親サブスクリプション・タグが失敗します。 'SourceSchema'(最大長 =128) は、ソース・データベースの表のスキーマです。 'SourceTable'(最大長 =128) は、ソース・データベースの表の名前です。 JDBC およびアップロード・サブスクリプションの場合、SourceSchema.SourceTable で 指定される表がソース・データベースに存在していなければなりません。そうでないと、 親サブスクリプション・タグの作成は失敗します。 'DeleteAuth' は 'Y' または 'N' のいずれかで、デフォルトでは 'Y' です。 'InsertAuth' は 'Y' または 'N' のいずれかで、デフォルトでは 'Y' です。 'UpdateAuth' は 'Y' または 'N' のいずれかで、デフォルトでは 'Y' です。 'SelectAuth' は 'Y' または 'N' のいずれかで、デフォルトでは 'Y' です。 権限を変更しても、ミラーおよびターゲット・デバイスで表がドロップおよび 再作成されることはありません。 'WhereClauseMirrorToMobile' (最大長 =1024) は、同期化する行をフィルターに 掛けるためにミラーで実行される DB2 where 文節 SQL ステートメントの制約部分です。 true または false に評価されます。 これには、グループ用に定義されたデータ・フィルター・パラメーターが含まれる場合が あります (AddDataFilter タグを参照)。データ・フィルターが定義されている場合、 これらは、同期化されるユーザーまたはユーザーのグループに特定の値で 置き換えられます。 この where 文節を変更すると、ターゲット・デバイスとミラー・データベース上の表が ドロップされ、再作成されます。 たとえば、アプリケーションが東海岸と西海岸の 2 つのグループを持っているとします。 この場合、表の where 文節は次のようなものになります。 AREA=:GROUP_AREA グループ・データ・フィルターは、西海岸グループ・データ・フィルターについては 次のように定義することができます。 :GROUP_AREA='WESTCOAST' 西海岸グループの場合、実行時の where 文節は次のようになります。 AREA='WESTCOAST' 西海岸グループのユーザーは、この制約に一致する行のみを取得します。 'WhereClauseMasterToMirror'(最大長 =1024) は、マスターからミラー・データベースへ 複製される行をフィルターに掛けるために使用される where 文節の制約部分です。 レプリケーションはユーザーまたはグループのコンテキストで行なわれないため、 データ・フィルターは WhereClauseMasterToMirror では使用できません。 表のこの where 文節プロパティーを変更すると、ミラーおよびターゲット・デバイスで 表がドロップおよび再作成されます。 'JoinFilter' は、'Y'、'N'、または 'G' (Global、デフォルト設定) のいずれかです。 この表に結合フィルター操作を採用するかどうかを指定します。 'Y' は使用可能を意味します。行フィルターの有効範囲外の問題が受け入れ可能である場合、 パフォーマンスの向上のためにはこれを 'N' (使用不可) にすべきです。 このタグが指定されない場合、デフォルト値である 'G' が使用されます。 この値は、結合フィルター操作が、グローバル設定 RowFilter.OutOfScope.Delete プロパティー (同期サーバー制御データベース、DSY.PROPERTIES 表にあります) に応じて使用可能にされることを意味します。 値が 1 の場合は使用可能であり、0 の場合は使用不可です。 'TableSpace' は、このソース表の複製先になるミラー・データベースで使用される DB2 表スペースのオプション・フィールドです。ミラー・データベースのデフォルトの 表スペース・ページ・サイズは、しばしば複製データの保管には十分でない場合があります。 この場合、異なる表スペースに関連するミラー表を作成することが必要になります。 表の表スペースを変更すると、ターゲット・デバイスおよびミラー上で表がドロップおよび 再作成されます。 'Order' は、サブスクリプション内部のこの表の順序を識別する整数です。 指定されない場合、リストされる順序が使用されます。最初の表の索引は 1 です。 2 番目の表では 2 で、以下同様となります。表の順序を変更するために 'AlterTable' 内部で使用されるときは、この表の新しい順序付け索引の指定が 必要になります。たとえば、ユーザー表をサブスクリプションの他の表内で 3 番目の表にしたい場合は、順序 3 を指定します。 指定した順序番号が表の数より大きい場合、表はサブスクリプション内の最後の表に なります。 (より大きい索引にあることが要求される他の表がないことを前提とします)。 順序が 0 または負の場合、これは最初の表になります。 表に対しては、混合した順序付けを指定することができます。 たとえば、表 A は順序 3 でリストすることができ、また表 B は順序 1、 表 C は順序 2 で指定することができます。これにより、AddTable 関連表のブロックを 移動する必要なしに、既存のスクリプトで表の順序を変更することが容易になります。 ただし、混合した順序付けを行なうと XML スクリプトは読みにくくなります。 サブスクリプションの作成時に表が現れる順序を使用するのが最もよい方法です。 表の順序が変更されると、まだこの変更について知らされていないターゲット・デバイスは 表の全セットの完全な記述を受け取り、それらは必要に応じて再順序付けを行ないます。 これにより、ミラーまたはターゲット・デバイス表がドロップおよび再作成されることは ありません。 'Encrypt' は、'Y' または 'N' のいずれかです。これは、表データをデバイス上で 暗号化するかどうかを指定します。これは、同期中に回線を渡って使用される 暗号化レベルを指定する、サブスクリプション・レベルで指定された 暗号化レベルとは異なるものです。 この属性を変更すると、ターゲット・デバイスおよびミラー上で表がドロップされ、 再作成されます。 'AddColumn' には、特定の表内の列が含まれます (AddColumn タグのコメントを参照)。 列を追加/除去/変更すると、ターゲット・デバイスおよびミラー上で表がドロップされ、 再作成されます。 'AddIndex' には、特定の表内の索引が含まれます (AddIndex タグのコメントを参照)。 表の索引のセットに対して変更を行なっても、ターゲット・デバイスおよびミラー上で 表はドロップされず、再作成もされません。 'AddCustomLogic' は、ユーザー定義 Java クラスの関連付けを行い、同期化と レプリケーションのいずれか、または両方を目的として、同期サーバー内の この表に関連する追加のビジネス・ロジック機能を指定します。 レプリケーションは、サブスクリプション編集の前提条件である場合があります。 表の CustomLogic 定義を変更しても、ターゲット・デバイスおよびミラー上で表は 表はドロップされず、再作成もされません。 --> <!ELEMENT AddTable (TargetSchema, TargetTable, SourceSchema, SourceTable, DeleteAuth, InsertAuth, UpdateAuth, SelectAuth, WhereClauseMirrorToMobile?, WhereClauseMasterToMirror?, JoinFilter?, TableSpace?, Order?, Encrypt?, (AddColumn | AddIndex | AddCustomLogic)*)> <!ELEMENT TargetSchema (#PCDATA)> <!ELEMENT TargetTable (#PCDATA)> <!ELEMENT SourceSchema (#PCDATA)> <!ELEMENT SourceTable (#PCDATA)> <!ELEMENT DeleteAuth (#PCDATA)> <!ELEMENT InsertAuth (#PCDATA)> <!ELEMENT UpdateAuth (#PCDATA)> <!ELEMENT SelectAuth (#PCDATA)> <!ELEMENT WhereClauseMirrorToMobile (#PCDATA|NULL)*> <!ELEMENT WhereClauseMasterToMirror (#PCDATA|NULL)*> <!ELEMENT Order (#PCDATA|NULL)*> <!ELEMENT Encrypt (#PCDATA)> <!ELEMENT TableSpace (#PCDATA|NULL)*> <!ELEMENT JoinFilter (#PCDATA)> <!--AddColumn タグは、同期化または複製を行なう表に対する列の組み込みに 使用されます。 'SourceColumn' (最大長 =512) は、ソース表内の列の名前です。 JDBC およびアップロード・サブスクリプションの場合、この名前を持つ列は、 ソース表に存在していなければなりません。存在しない場合、親サブスクリプションの 作成は失敗します。DPropR サブスクリプションの場合、これはミラー・データベースに 存在している必要があります。XML ツールの実行時、このようなソースおよび ミラー・データベースはアクセス可能であってはなりません。 'TargetColumn' は、モバイル・デバイス上の列の名前になります。 この名前は、親表の列の間で固有でなければなりません。 'Subscribe' は、'Y' または 'N' のいずれかで、デフォルトは 'N' です。 'Y' の場合、これは列が同期化されることを意味しています。 'Replicate' は、'Y' または 'N' のいずれかで、デフォルトは 'N' です。 'Y' の場合、これは列がマスターおよびミラー・データベースの間で複製されることを 意味しています。 列は、複製せずに同期化することはできません。 'Key' は、'Y' または 'N' のいずれかで、デフォルトは 'N' です。 これは、この列が固有キー制約の一部であることを示しています。 'Constrnt' は、SQL DDL を使用して列を作成しているときに、ターゲット (モバイル) データベース上で使用される DB2 Everyplace 制約です。 たとえば、関連する列に制約を持たせるには、次のように指定します。 constraint CK_ENABLED check(ENABLED in('N','Y')) ユーザーは XML で、<Constrnt>in('N','Y')</Constrnt> のように指定することが 必要になります。 'ColumnDataFilter' は、ターゲット (モバイル) データベース上で列を作成している ときに、SQL DDL でデフォルト値を提供するために使用されます。 このようなデータベースは特定の「デバイス・ユーザー」に属しているため、 このデータ・フィルターはグループ用に作成され、ユーザーによってオーバーライド されるデータ・フィルターを含むことができます (AddDataFilter および OverrideDataFilter タグを参照)。 たとえば、デフォルト値が特定デバイス・ユーザーのロケーションに依存するような列を 作成するには、SQL DDL は次のようになります。 CITY varchar(50) not null with default 'ISTANBUL' また、ロケーションの異なる各ユーザーについてこれを多様に機能させるには、 管理者はこの列のデータ・フィルターとして次のように指定することが必要になります。 <ColumnDataFilter>:CITY</ColumnDataFilter> データ・フィルターは、この列が属するこのサブスクリプションを同期化するすべての グループおよびユーザーについて有効である (作成済みである) ことが必要に なります。 --> <!ELEMENT AddColumn (SourceColumn, TargetColumn, Subscribe, Replicate, Key, Constrnt?, ColumnDataFilter?) > <!ELEMENT SourceColumn (#PCDATA)> <!ELEMENT TargetColumn (#PCDATA)> <!ELEMENT Subscribe (#PCDATA)> <!ELEMENT Replicate (#PCDATA)> <!ELEMENT Key (#PCDATA)> <!ELEMENT Constrnt (#PCDATA|NULL)*> <!ELEMENT ColumnDataFilter (#PCDATA|NULL)*> <!--'AddIndex' タグは、ターゲット表の索引記述を作成します。 索引名は、サブスクリプションまたはミラーとは無関係に、システム全体の中で 固有でなければなりません。MirrorOnly 属性が "TRUE" に設定されている場合、 索引はミラー・データベースでのみ作成されます。ターゲット・デバイスでは 作成されません。MirrorOnly 属性は、指定されない場合は "FALSE" に デフォルト設定されます。 'ColNames' タグは、この索引の列をリストします。列名は AddTable タグで使用される ターゲット名です。名前の末尾はセミコロン (;) です。列名の前のプラス (+) は 昇順の、マイナス (-) は降順の索引を意味しています。 AddIndex tag looks like this: <AddIndex> <Name>MYINDEX</Name> <ColNames>+MYCOLNAME1;+MYCOLNAME2;</ColNames> </AddIndex> --> <!ELEMENT AddIndex (Name, ColNames)> <!ATTLIST AddIndex MirrorOnly (TRUE | FALSE) "FALSE"> <!ELEMENT ColNames (#PCDATA)> <!-- AddCustomLogic タグは、ユーザー定義クラスをサブスクリプション表または ミラー・データベースに関連付け、カスタム・ビジネス・ロジック機能を同期化と レプリケーションのいずれか、または両方のプロセスに提供します。 'PolicyType' は、以下のいずれかの定数です (引用符は除く)。 "BeforeTableSyncInPolicy" "AfterTableSyncInPolicy" "BeforeTableReplicatePolicy" "AfterTableReplicatePolicy" "BeforeDbReplicatePolicy" "AfterDbReplicatePolicy" "TableReplicatePolicy" "TableSyncInPolicy" 'ClassName' は、カスタム・ロジックをインプリメントする Java クラスの完全修飾名です。 このクラスは、同期サーバーおよび管理ツールの CLASSPATH になければなりません。 'Enabled' は、'Y' または 'N' のいずれかです。 --> <!ELEMENT AddCustomLogic (PolicyType, ClassName, Enabled)> <!ELEMENT PolicyType (#PCDATA)> <!ELEMENT AddAdapter (Name, Description?, FileAttributes?, CommAttributes?, Signature?, ClassName?)> <!ELEMENT FileAttributes (#PCDATA|NULL)*> <!ELEMENT CommAttributes (#PCDATA|NULL)*> <!ELEMENT ClassName (#PCDATA|NULL)*> <!--AddServer タグは、新しいサーバー記述を作成します。システムが正しく機能する ためには、サーバーの定義が必要です。同期サーバーは始動時に、自身に関するレコードを 更新します。サーバーがレコードを「オフライン」に更新できるようにならずに 停止された場合、サブスクリプションの編集時に問題を引き起こす可能性があります。 管理ツールは、稼動中のサーバーと通信できないと判断し、変更の適用を拒否することが あり、この場合、変更により不明な動作が引き起こされる可能性があります。 変更を行なう前に、管理ツールはシステムの関連パーツをブロックし、「オフライン」の マークが付いていない稼動中サーバーに対する更新を伝達します。 サーバーがオフラインとマークされておらず、応答していない場合、変更は確実に 適用されるとは限らず、このような変更は拒否されます。 --> <!ELEMENT AddServer (Name, HostIP, Port, Description?, SyncEnabled?, ReplEnabled?, Status?, Blocked?)> <!ELEMENT HostIP (#PCDATA)> <!ELEMENT Port (#PCDATA)> <!ELEMENT SyncEnabled (#PCDATA)> <!ELEMENT ReplEnabled (#PCDATA)> <!ELEMENT Blocked (#PCDATA)> <!ELEMENT Status (#PCDATA)> <!--'ResetUser' は、ユーザーのデバイス情報を削除します。 'Name' はユーザー名です。 ユーザーをリセットすると、ターゲット・デバイスが次回に同期化されるときに フル・リフレッシュされます。 --> <!ELEMENT ResetUser (Name)> <!--'ResetGroup' は、グループ内のすべてのユーザーのデバイス情報を削除します。 'Name' はグループ名です。 --> <!ELEMENT ResetGroup (Name)> <!--'ResetAll' は、システム内のすべてのユーザーのデバイス情報を削除します。 --> <!ELEMENT ResetAll EMPTY> <!--これ以降は Remove です。--> <!-- 'RemoveJdbcMaster' は、サブスクリプション間で共用される JDBC マスター・ データベース・システムのレコードを除去します。これらのレコードは、 常に除去が必要なわけではありません。 これは、テスト自動化の一部のケースで役に立ちます。 マスターまたはミラーがサブスクリプションから参照されている場合、除去はできず、 エラーが発行されます。 --> <!ELEMENT RemoveJdbcMaster (Database, Driver)> <!-- 'RemoveReplMaster' は、サブスクリプション間で共用される DPropR マスター・ データベース・システムのレコードを除去します。マスターまたはミラーが サブスクリプションから参照されている場合、除去はできず、 エラーが発行されます。 --> <!ELEMENT RemoveReplMaster (System, Instance, Database)> <!-- 'RemoveJdbcMirror' は、サブスクリプション間で共用される JDBC ミラー・ データベース・システムのレコードを除去します。 マスターまたはミラーがサブスクリプションから参照されている場合、 除去はできず、エラーが発行されます。 --> <!ELEMENT RemoveJdbcMirror (Database, Driver)> <!-- 'RemoveReplMirror' は、サブスクリプション間で共用される DPropR ミラー・ データベース・システムのレコードを除去します。マスターまたは ミラーがサブスクリプションから参照されている場合、除去はできず、 エラーが発行されます。 --> <!ELEMENT RemoveReplMirror (Database)> <!--'RemoveGroup' は、システムからグループとすべての関連データを除去します。 このグループで使用されていたユーザーは、どのグループにも属さなくなります。 <!ELEMENT RemoveGroup (Name)> <!--'RemoveUser' は、ユーザーとすべての関連データをシステムから除去します。 除去されると、ユーザーは同期化を行なうことができなくなります。 --> <!ELEMENT RemoveUser (Name)> <!--'RemoveServer' は、システムからサーバー・レコードを除去します。たとえば、 サーバー名が変更され、古い名前が有効ではなくなったときに役に立ちます。 --> <!ELEMENT RemoveServer (Name)> <!--RemoveDevice は ResetDevice としてそれ自身にインプリメントされるため、 ここにはありません。--> <!--'RemoveSubscriptionSet' は、システムからサブスクリプション・セットを 除去します。変更についてオンライン・サーバーに通知が行なわれます。 サーバーがオンラインであるが応答していないと思われる場合、変更は 適用できません。 --> <!ELEMENT RemoveSubscriptionSet (Name)> <!--'RemoveSubscription' は、サブスクリプションをシステムから除去します。 変更についてオンライン・サーバーに通知が行なわれます。サーバーがオンラインで あるが応答していないと思われる場合、変更は実行できません。 サブスクリプションの除去は、この操作中、システムの影響を受ける部分をブロックし (影響を受けるミラー・データベースは主要なコンポーネントです)、サーバーはこれを 使用できなくなります。サーバーの稼動中はこのような頻繁な操作を避けてください。 そうでないと、サーバーのパフォーマンスが低下します。 --> <!ELEMENT RemoveSubscription (Name)> <!--Replicate 属性は、JDBC のような複製サブスクリプションに対してのみ 意味を持ちます。--> <!ATTLIST RemoveSubscription Replicate (TRUE | FALSE) "TRUE"> <!--StopOnError が FALSE の場合、ソースとミラーのいずれか、または両方が アクセス不能である場合でも、あるいはソースまたはミラーのレプリケーションと クリーンアップのいずれか、または両方を妨げる問題がある場合でも、 サブスクリプションは制御データベースから除去されます。この後、ソースと ミラーのいずれか、または両方で手動クリーンアップが必要になる場合があります。 これは、開発者がソースおよびミラー・データベースに注意を払わない、 あるいはこれらがすでに除去されている可能性のある、テスト/開発環境で 役に立ちます。--> <!ATTLIST RemoveSubscription StopOnError (TRUE | FALSE) "TRUE"> <!--'RemoveAdapter' は、データベースからアダプター・レコードを除去します。 これは一部のテスト・ケースでのみ役立ち、多くの場合は必要ではありません。 --> <!ELEMENT RemoveAdapter (Name)> <!--サブスクリプションをブロックし、これについてオンライン・サーバーに通知します。 ブロックされたサブスクリプションは同期化できません。--> <!ELEMENT BlockSubscription (Name)> <!ELEMENT UnblockSubscription (Name)> <!-- これ以降は Alter です。--> <!-- AlterXYZ グループ・タグは、情報を見つけ、その一部を変更するために使用されます。 <AlterXYZ> タグには、変更するレコードの固有 ID と、このレコードについて 変更するプロパティーのリストが含まれています。 たとえば、alter user タグの構造は次のようになります。 <AlterUser> <Name>ausername</Name> //変更するユーザーを指定します。 <User> //ここで適用する新しい値をリストします。 <User> <AlterUser> --> <!--'AlterJdbcMaster' タグは、JDBC マスター・データベースの接続情報を変更する ことができます。多くの場合、Password は変更が必要である可能性を持つ唯一の プロパティーです。このマスターを使用している既存の JDBC サブスクリプションがある 場合は、UserId の変更を避けてください。これは、この UserId がスキーマ名として 使用される場合があるためです。 --> <!ELEMENT AlterJdbcMaster (Database, Driver, JdbcMaster)> <!ELEMENT JdbcMaster (Database?, Driver?, UserId?, Password?)> <!--'AlterJdbcMirror' は、JDBC ミラー・データベースの接続プロパティーの 変更に使用されます。1 つ以上のカスタム・ロジック・インプリメンテーション・クラスを ミラーに対して追加/除去することができます。既存のカスタム・ロジック記述を 変更するには、古い記述を除去し、新しい記述を追加してください。 --> <!ELEMENT AlterJdbcMirror (Database, Driver, JdbcMirror)> <!ELEMENT JdbcMirror (Database?, Driver?, UserId?, Password?, SyncWindow?, (AddCustomLogic | RemoveCustomLogic)*)> <!--'AlterReplMaster' は、既存の DPropR マスター・データベース情報の編集を 可能にします。--> <!ELEMENT AlterReplMaster (System, Instance, Database, ReplMaster)> <!ELEMENT ReplMaster (System?, Instance?, Database?, UserId?, Password?, DatabaseAlias?)> <!--'AlterReplMirror' は、既存の DPropR ミラー・データベース情報の編集を 可能にします。1 つ以上のカスタム・ロジック・インプリメンテーション・クラスを ミラーに対して追加/除去することができます。既存のカスタム・ロジック記述を 変更するには、古い記述を除去し、新しい記述を追加してください。 --> <!ELEMENT AlterReplMirror (Database, ReplMirror)> <!ELEMENT ReplMirror (Database?, UserId?, Password?, SyncWindow?, (AddCustomLogic | RemoveCustomLogic)*)> <!--'AlterAdapter' は、アダプターの記述を変更するために使用できます。 これが必要になることはないと考えられます。 --> <!ELEMENT AlterAdapter (Name, Adapter)> <!ELEMENT Adapter (Name?, Description?, FileAttributes?, CommAttributes?, Signature?, ClassName?)> <!--'AlterFileSubscription' タグは、ファイル・サブスクリプションの 新しい設定をリストするために使用できます。短時間の変更では、 オンライン・サーバーに対する同期要求はブロックされます。 'Reset' タグ (EMPTY タグ) は、デバイスに再送信されるようなファイル・ サブスクリプションをマークすることを、XML スクリプト・ツールに対して 指示します。 これは一般に、ファイルが変更されるときに必要になります。 通常の同期サーバーは、サブスクライブ・ファイルに対する変更を 自動的には検出しません。 ファイル・サブスクリプションは、デバイスで 新しいバージョンのファイルを受信するためにリセットする必要があります。 --> <!ELEMENT AlterFileSubscription (Name, FileSubscription)> <!ELEMENT FileSubscription (Name?, Description?, SubAdapter?, EncryptionLevel?, DeviceTypes?, SourceFileName?, TargetFileName?, Reset?)> <!ELEMENT Reset EMPTY> <!--'AlterGroup' タグは、同期グループの新しい設定をリストするために 使用することができます。このタグを使用すると、新しいサブスクリプションを、 このグループ、またはこのグループから除外できる既存のグループに組み込むことが できます。データ・ファイルは追加することも除去することもできます。 また、グループは使用可能にしたり使用不可にすることができ、名前と 記述は必要に応じて変更できます。 --> <!ELEMENT AlterGroup (Name, Group)> <!ELEMENT Group (Name?, Description?, Enabled?, (IncludeSubscriptionSet | ExcludeSubscriptionSet | AddDataFilter | RemoveDataFilter)* )> <!ELEMENT ExcludeSubscriptionSet (Name)> <!--データ・フィルターを変更するには、データ・フィルターをまず除去して、 再度それを追加します。 --> <!ELEMENT RemoveDataFilter (Name) > <!--'Alteruser' タグは、同期ユーザーの新しい設定をリストするために 使用できます。このタグを使用すると、ユーザーは新しいグループを 割り当てることができます。 'UserGroup' に <NULL/> が指定されている 場合は、ユーザーが現在のグループから除去されるだけです。 ユーザーはオーバーライドされたデータ・フィルター値を追加または除去できます。 名前、パスワード、および記述もまた、必要に応じて変更することできます。 LDAP 使用可能環境には、LDAPProperties タグのみ適用されます。 このタグはユーザーの LDAP 特定プロパティーをリストします。 --> <!ELEMENT AlterUser (Name, User?)> <!ELEMENT User (Name?, UserGroup?, Description?, Password?, LDAPProperties?, (OverrideDataFilter | RemoveDataFilter)* )> <!-- LDAPProperties タグは十分です。 <!ELEMENT AlterLDAPProperties (FirstName?, LastName?, E-mail?, PreferredLanguage?, Interest?)> --> <!--'AlterSubscriptionSet' は一般的に、サブスクリプション・セットに対する サブスクリプションの追加または除去に使用されます。 <!ELEMENT AlterSubscriptionSet (Name, SubscriptionSet?)> <!ELEMENT SubscriptionSet (Name?, Description?, (IncludeSubscription | ExcludeSubscription)* )> <!ELEMENT ExcludeSubscription (Name)> <!--'AlterJdbcSubscription' タグは一般に、jdbc サブスクリプションの表の 追加または削除に使用されます。サブスクリプションのミラー・データベースまたは マスター・データベースを変更する場合は、既存のサブスクリプションを変更する のではなく、新しいサブスクリプションを作成しなければなりません。 データベースの jdbc 接続パスワードは AlterJdbcMirror タグまたは AlterJdbcMaster タグを使用して変更できます。'AlterTable' タグは、サブスクライブされた表の 同期プロパティーと複製プロパティーを変更するために使用できます。 また、このタグは、表の索引を追加または除去するためにも使用できます。 --> <!ELEMENT AlterJdbcSubscription (Name, JdbcSubscription)> <!ATTLIST AlterJdbcSubscription Replicate (TRUE | FALSE) "TRUE"> <!ELEMENT JdbcSubscription (Name?, Description?, EncryptionLevel?, Block?, (AddTable | RemoveTable | AlterTable)*)> <!ELEMENT AlterUploadSubscription (Name, UploadSubscription)> <!ELEMENT UploadSubscription (Name?, Description?, EncryptionLevel?, Block?, (AddTable | RemoveTable | AlterTable)*)> <!ELEMENT AlterDproprSubscription (Name, DproprSubscription)> <!ELEMENT DproprSubscription (Name?, Description?, EncryptionLevel?, Block?, (AddTable | RemoveTable | AlterTable)*)> <!ELEMENT RemoveTable (TargetSchema, TargetTable)> <!ELEMENT AlterTable (TargetSchema, TargetTable, Table)> <!ELEMENT Table (TargetSchema?, TargetTable?, SourceSchema?, SourceTable?, DeleteAuth?, InsertAuth?, UpdateAuth?, SelectAuth?, WhereClauseMirrorToMobile?, WhereClauseMasterToMirror?, JoinFilter?, TableSpace?, Order?, Encrypt?, (AddIndex | AddCustomLogic | RemoveIndex | RemoveCustomLogic)*)> <!ELEMENT RemoveIndex (Name)> <!ELEMENT RemoveCustomLogic (PolicyType)>
関連した概念