制約事項: 本トピックは Windows 環境にのみ該当します。
 
               		
              
            	 
            重要: Enterprise Developer 2.2 Update 1 以降の各リリースでは、既存のすべての SQL Server データベースに対して DSN バインド ユーティリティを実行します。これにより、データベースに格納されているすべてのメインフレーム成果物が各ソフトウェア リリースで適切に更新されます。
            
 
            	 
            DSN バインド ユーティリティを使用して、SQL Server アプリケーションにデータベースをバインドする処理をコマンド ラインから実行するか、ビルド後のイベントとして実行できます。
            
 
            	 
            DSN バインド ユーティリティでは、SQL Server データベースへの接続がアクティブであること、および実行する DSN コマンドを含んだバインド スクリプト ファイル (
.hcodsn ファイル) が提供されることが必要になります。バインド スクリプト ファイルは、Manage Packages and Plans ツールを使用して作成するか、テキスト エディターを使用して手動で作成できます。
               
注: FHCOSS バインド スクリプト ファイルで有効なコマンドの一覧については、「バインド スクリプトのコマンド」トピックを参照してください。
               
 
               	 
              
            	 
            ビルド後のイベントは、IDE でアプリケーションをビルドした直後に自動で実行されるプロセスです。
 
            	 
            DSN バインド ユーティリティは、毎回 2 つの連続した段階 (スキーマ更新の実行およびそれに続くバインド スクリプトの実行) で実行します。
 
            	 
            
               スキーマ更新実行
 
               		 
               		
               この実行段階では、DSN は接続先の SQL Server データベースを検証し、必要となるテーブルおよびストアド プロシージャがデータベースに存在しており、テーブルおよび関数の定義が HCOSS の使用バージョンと一致することを確認します。検証が成功すると、DSN
                  はバインド スクリプト実行段階に移行します。検証が失敗すると、DSN は次へ進む前にスキーマ更新を実行します。
               
 
               		
               DSN データベースの検証に失敗すると、次のいずれかに該当する場合に限り、スキーマ更新が起動します。
                  
 
                     		  
                     - 新しい SQL Server データベースに対して DSN を実行した場合
  
                     		  
                     - HCOSS アップグレードのインストール後に初めて DSN を実行した場合
  
                     		  
                     - 必要なテーブルまたはストアド プロシージャ (あるいはその両方) がデータベースにないと DSN が判断した場合
  
                     		
                  
 
                  		
                 
               		
               スキーマ更新を実行するために、DSN は次の SQL スクリプトを SQL Server データベースに対して実行します。
                  
 
                     		  
                     - InstallSYSIBM.sql - バインドされる DBRM を管理するために DSN が使用するメタデータ テーブルを作成します。
                     
  
                     		  
                     - InstallBindProcs.sql - これらのテーブルを管理するために DSN が使用するストアド プロシージャを作成します。
                     
  
                     		  
                     -  InstallDigitsFunction.sql - SQL Server にはない DB2 関数をエミュレートするための次の関数を作成します。
                        
 
                           				
                           - DATEINTERVAL
  
                           				
                           - DIGITS
  
                           				
                           - JULIANDAY
  
                           				
                           - LASTDAY
  
                           				
                           - LPAD
  
                           				
                           - MIDNIGHT_SECONDS
  
                           				
                           - NEXTDAY
  
                           				
                           - RPAD
  
                           				
                           - STRIP
  
                           				
                           - TIMEINTERVAL
  
                           				
                           - TRANSLATE
  
                           				
                           - TRUNCATE
  
                           			 
                        
 
                        		  
                       
                     		
                  
 
                  		
                 
               		
               これらの SQL スクリプトは、%ALLUSERSPROFILE%\Micro Focus\Enterprise Developer\hcoss ディレクトリにあります。
               
 
               		
               スキーマ更新プロセスを正常に完了するために、以下の権限を含むログイン資格情報を使用して SQL Server データベースに接続します。
                  
 
                     		  
                     - CREATE SCHEMA
  
                     		  
                     - CREATE TABLE
  
                     		  
                     - DROP TABLE
  
                     		  
                     - CREATE INDEX
  
                     		  
                     - DROP INDEX
  
                     		  
                     - SYSIBM スキーマの CREATE PROCEDURE
  
                     		  
                     - dbo スキーマの DROP および CREATE FUNCTION
  
                     		
                  
 
                  		
                 
               		
               重要: この一連の必要な権限により、DSN が定期的に検証およびバインドを実行する際に必要な SQL Server データベースへのアクセスよりも広範なアクセスが可能になります。つまり、データベース検証時には、スキーマ更新プロセスは起動しません。DSN
                  をコマンド ラインから実行するか、ビルド後のイベントとして実行することでアプリケーションを定期的にバインドし、さらに権限を日常的な使用で制限する場合は、新しい SQL Server データベースを作成した直後および毎回の HCOSS アップグレード後に手動でこのプロセスを完了することにより、潜在的なエラーを回避し、DSN
                  がスキーマの自動更新を起動しないようにできます。手動でスキーマ更新を実行するには、必要な権限を付与するログイン資格情報を使用して SQL Server データベースに接続してから、手動で SQL スクリプトを実行します。
               
 
               		
               データベース検証の実行に必要な権限は、バインド スクリプト実行に必要な権限と同じです。
 
               	 
              
            	 
            
               バインド スクリプト実行
 
               		 
               		
               バインド スクリプト実行段階では、DSN は次を行います。
                  
 
                     		  
                     - パッケージとプランをバインドするストアド プロシージャを生成し、それらを次の SQL Server データベース テーブルでメタデータとして管理します。
SYSIBM.SYSDBRM
SYSIBM.SYSPACKAGE
SYSIBM.SYSPACKLIST
SYSIBM.SYSPLAN
 
                        			 重要: SYSIBM のストアド プロシージャは、これらのテーブルを更新できる十分な権限で実行する必要があります。
                        
                        		  
                       
                     		  
                     - BIND PACKAGE コマンドで指定する DBRM パッケージについては、静的 SQL 文ごとに個別のストアド プロシージャを生成し、次の命名規則に従ってそれらを SQL Server データベースに保存します。
                        
PKG:collectionName.memberName consistencyToken$statementNumber
 
                        			 
                        ここで、consistencyToken は DSN により生成された文字列でストアド プロシージャの固有の名前です。statementNumber は DSN により生成された数値でゼロから始まります。次に例を示します。
                        
 
                        			 
                        PKG:COLLECTION1.MEMBERAEEEcKIKy$0
 
                        		  
                       
                     		  
                     - BIND PLAN コマンドで指定するプランについては、指定されたパッケージまたはメンバーのストアド プロシージャを生成し、類似の命名規則に従ってそれらを SQL Server データベースに保存します。
                        
PLN:planNameconsistencyToken$statementNumber
 
                        			 
                        次に例を示します。
 
                        			 
                        PLN:MYPLAN1.MEMBERAFFFdLJLz$0
 
                        		  
                       
                     		
                  
 
                  		
                 
               		
               バインド スクリプト実行段階を正常に完了するために、以下の権限を含むログイン資格情報を使用して SQL Server データベースに接続します。
                  
 
                     		  
                     - CREATE SCHEMA
  
                     		  
                     - CREATE PROCEDURE
  
                     		  
                     - SYSIBM スキーマの EXECUTE PROCEDURE