IBM FileNet P8, バージョン 5.2.1            

ファクトリー・メソッドを使用したインスタンスの作成

ObjectStore オブジェクトのインスタンスを作成するには、Factory.ObjectStore.createInstance メソッドを呼び出します。

オブジェクト・ストアの作成をサポートするには、管理の前提条件を満たしている必要があります。以下のタスクは、通常、データベース管理者とアプリケーション・サーバー管理者が行うタスクです。

  • データベースを作成する
  • アプリケーション・サーバー内に接続プールとデータ・ソースを構成し、データベースに接続する
  • オブジェクト・ストアの管理ユーザーと管理グループを定義する
  • オブジェクト・ストアの一般ユーザーと一般グループを定義する

以下の Java および C# の例では、ObjectStore オブジェクトをインスタンス化します。以下の例は、createInstance メソッドの 2 つのバージョンを示しています。1 つではスキーマ・スクリプトを使用し、もう 1 つでは使用しません。データベース管理者 (DBA) は、カスタム・スキーマ・スクリプトを使用してオブジェクト・ストアのデータベース・スキーマを変更できます。 ObjectStore オブジェクトは、最後のコミット (保存) ステップでサーバーへのラウンド・トリップが行われるまでは Global Configuration Database (GCD) には存在しません。

オブジェクト・インスタンスを作成したら、DisplayName、SymbolicName、DatabaseConnection の各プロパティーを設定する必要があります。 DatabaseConnection プロパティーは、CmDatabaseConnection オブジェクトに対して設定されます。このオブジェクトにより、ローカルの JNDI データ・ソース名と、トランザクション JNDI データ・ソース名が定義されます。

新しい ObjectStore オブジェクトを保存する前に、オブジェクト上に以下の DatabaseXXXStorageLocation プロパティーを設定できます (コード例には示されていません)。

  • DatabaseTableStorageLocation。データベース内でのテーブルの配置場所を制御します (IBM® DB2® for z/OS® では無視されます)。
  • DatabaseIndexStorageLocation。データベース内での索引の配置場所を制御します。
  • DatabaseLOBStorageLocation。データベース内でのラージ・オブジェクト (LOB) データの配置場所を制御します (DB2 for z/OS では無視されます)。
重要: オブジェクト・ストアが作成された後に設定された DatabaseXXXStorageLocation プロパティーは、その後に作成されるオブジェクト (すなわち、テーブル、索引、または LOB 列) のデータベース内での場所のみに影響を与えます。

Java の例

// オブジェクト・ストア・インスタンスを作成
public static void createObjectStoreInstance(
    Connection conn,
    String[] adminName,    // 例: "Domain Admins, CEMPAdmin"
    String[] userName,     // 例: "Domain Users, CEMPUser"
    CmDatabaseConnection dbConn,   // データ・ソースを定義
    String objStoreName,  // オブジェクト・ストア名。例: "ObjectStore1"
    String scriptPath)    // スクリプト・ファイル・パスを作成。例: "C:¥os_script.txt"
        
    throws Exception {
            
        // デフォルト・ドメインを取得
        Domain domain = Factory.Domain.getInstance(conn, null);

        // オブジェクト・ストアを作成
        String[] admins = {adminName};
        String[] users = {userName};
        ObjectStore objStore = null;
                
        if (scriptPath == null) {
            // スキーマ・スクリプトを使用せずに作成
            System.out.println("Creating object store without a schema script");
            objStore = Factory.ObjectStore.createInstance(
                              domain, admins, users);
        } 
        else {
            // スキーマ・スクリプトを使用して作成
            // getScript メソッドによるファイルからのスクリプト読み取り
            String creationScript = getScript(scriptPath);
            System.out.println("Creating object store with a schema script");
                        
            // スクリプト・ファイルの内容を出力するには、次の行のコメントを外す。
            // System.out.println(creationScript); 
            objStore = Factory.ObjectStore.createInstance(
                              domain, admins, users, creationScript);                   
        }

        // プロパティーを設定
        objStore.set_DisplayName(objStoreName);
        objStore.set_SymbolicName(objStoreName);
        objStore.set_DatabaseConnection(dbConn);
  
        // オブジェクト・ストアを保存し、名前を表示
        objStore.save(RefreshMode.REFRESH);
        System.out.println("Object store name: " +  objStore.get_Name()); 
    }

C# の例

// オブジェクト・ストア・インスタンスを作成
public static void CreateObjectStoreInstance(
    IConnection conn,
    String[] adminName,    // 例: "Domain Admins, CEMPAdmin"
    String[] userName,     // 例: "Domain Users, CEMPUser"
    ICmDatabaseConnection dbConn,   // データ・ソースを定義
    String objStoreName,  // オブジェクト・ストア名。例: "ObjectStore1"
    String scriptPath)    // スクリプト・ファイル・パスを作成。例: "C:¥os_script.txt"
                
    // デフォルト・ドメインを取得
    {IDomain domain = Factory.Domain.GetInstance(conn, null);
  
        // オブジェクト・ストアを作成
        String[] admins = {adminName};
        String[] users = {userName};
        IObjectStore objStore = null;
                
        if (scriptPath == null) {
            // スキーマ・スクリプトを使用せずに作成
            Debug.WriteLine ("Creating object store without a schema script");
            objStore = Factory.ObjectStore.CreateInstance(
                              domain, admins, users);
        }
        else {          
            // スキーマ・スクリプトを使用して作成
            // GetScript メソッドによるファイルからのスクリプト読み取り 
            String creationScript = GetScript(scriptPath);
            Debug.WriteLine("Creating object store with a schema script");
                        
            objStore = Factory.ObjectStore.CreateInstance(
                              domain, admins, users, creationScript);
        }
                         
        // プロパティーを設定
        objStore.DisplayName = objStoreName;
        objStore.SymbolicName = objStoreName;
        objStore.DatabaseConnection = dbConn;

        // オブジェクト・ストアを保存し、名前を表示
        ojbStore.Save(RefreshMode.REFRESH);   
        Debug.WriteLine("Object store name: " +  objStore.Name); 
    }
    


最終更新日: 2015 年 10 月
objectstore_instantiate_snip2.htm

© Copyright IBM Corp. 2015.