最近のアクセス:
GeneXus Server インスタンス間でのナレッジベースの移行

1 つの GeneXus Server インスタンスから別のインスタンスにナレッジベースを移行する方法を説明します。
注: ナレッジベースを移行する前に、次の手順を実行します。

手順

1) コミット保留中のオブジェクトをすべてコミットします。
2) GeneXus Server Evolution 3 インスタンスでフリーズバージョン「BeforeV15」を作成します。
3) 必要な場合は、「GeneXus Server インストールマニュアル」の手順に従って、新しい GeneXus Server インスタンスをインストールし、この新しい GeneXus Server 15 インスタンスで権限を設定します。
4) GeneXus Server Storage Migrator Utility (GXSSM) を使用して、元のサーバーインスタンスからナレッジベースをエクスポートします。これにより、すべてのナレッジベース情報を格納した zip ファイルが生成されます。
5) GeneXus Server Storage Migrator Utility を使用して、生成されたファイルを移行先サーバーにインポートします。この操作は、新しい GeneXus Server インスタンスで実行することも、同じインスタンスで実行することもできます。後者の場合、別のナレッジベースのエイリアスを使用してナレッジベースを複製します。
6) GeneXus Server 15 インスタンスでフリーズバージョン「AfterEvo3」を作成します。
7) IDE GeneXus 15 より、GeneXus Server 15 インスタンス内の移行したナレッジベースからチェックアウトします。
注: 手順 2 と 6 は任意ですが、移行後に 2 つのインスタンスにコミットされた変更点を理解するために、実行することをお勧めします。

使用例

ナレッジベースのエイリアスが SampleKB のナレッジベースについて考えてみましょう。
GXSSM.exe ファイル (C:<GeneXus Server のインストールフォルダ>\VDir\Bin 内) を探した後、コマンドラインから exe ファイルを実行します。
C:<GeneXus Server のインストールフォルダ>\VDir\Bin\gxssm.exe /e /kb:"SampleKB" /out:"c:\temp"
SampleKB.zip ファイルが C:\temp フォルダ内に作成されます。
新しい GeneXus Server インスタンスに SampleKB.zip ファイルをインポートするには、次のコマンドを実行します。
C:<GeneXus Server のインストールフォルダ>\VDir\Bin\gxssm.exe /i:"c:\temp\SampleKB.zip" /kb:"MigratedSampleKB" /ignoregam:true
注: GeneXus Server インスタンスと関連付けられている SQL Server インスタンスのバージョンは、エクスポート元の GeneXus Server インスタンスと同じかそれ以上である必要があります。ダウングレードパスはサポートされていません。たとえば、SQL Server 2008 を使用してエクスポートしたナレッジベースを下位バージョンの SQL Server (2005 など) にインポートすることはできません。実行すると、次のエラーが発生します。
=== Section ImportKB started ===
Extracting file to temp folder 'C:\Users\GeneXusUser\AppData\Local\Temp\ATT201202241801'
Loading GXserver defaults...
Renaming database files...
Attaching database...
Error:Error importing data
Error:The database 'GXS_SampleKB' cannot be opened because it is version 655.This server supports version 612 and earlier.
A downgrade path is not supported.
Could not open new database 'GXS_SampleKB'.
CREATE DATABASE is aborted.
Error:   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand
      cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName,Boolean async)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Artech.Udm.Framework.SQL.DataConnection.Attach(KBConnectionInfo info) in e:\Development\GxXEv2\Udm\Layers\Data\SQL\KBSQLConnection.cs:line 37
   at GenexusServer.StorageMigrator.Reorgs.Import.ExecuteOperation() in e:\Development\GxXEv2\Common\Tools\GXserverMigrator\Reorgs\Import.cs:line 99
=== Section Import KB ended with errors ===

トラブルシューティング

GAM データのエクスポート

エクスポート処理で次のようなエラーが発生することがあります。
=== Section Exporting GAM data ended successfully ===
Warning:Could not find a part of the path 'C:\GeneXusServer\VDir\Bin\jsons\KnowledgeBaseName.gam.zip'.
フォルダコンテンツを削除し、操作を再試行します。

ログファイルの設定

インポート操作で次のようなエラーが発生することがありますが、無視してかまいません。
Starting BL...
log4net:ERROR  [ RollingFileAppender ]  
Unable to acquire lock on file C:\GeneXusServer\VDir\Bin\gxssm.log. 
The process cannot access the file 'C:\GeneXusServer\VDir\Bin\?gxssm.log'
because it is being used by another process.

ExitOnError フラグの使用

GeneXus Server インスタンスが安全でない場合、/ExitOnError フラグを使用すると、次のようなエラーが発生することがあります。
Input:/e /kb:"sandboxKB" /out:"c:\temp" /ExitOnError
Warning:GXserver is not secure.Ignoring GAM data
Error:Error exporting data
Error:GAM Exportation Failed
Error:   at GenexusServer.StorageMigrator.Reorgs.Export.ExportKB(GXS_KBCatalog kb)
  at GenexusServer.StorageMigrator.Reorgs.Export.ExecuteOperation()
/ExitOnError フラグを削除するか、/Ignoregam: true に変更します。

srv005 クライアントのナレッジベースはこのサーバーナレッジベースとリンクしていません

サーバー間でナレッジベースを移行しようとすると、次のようなエラーが発生することがあります。
========== Receive changes started ==========
Contacting GeneXus Server at 'http://servername/instancename'...
GeneXus Server: Update since MM/DD/YYYY HH:MM:SS PM requested by gxtechnical\username on version KBVersionName of 'KBNname'
error: GeneXus Server: srv005:The Client Knowledge Base is not linked to this Server Knowledge Base: 'KBVersionName'
Failed: Receive changes
インスタンス間で GXserver のナレッジベースを移行する際は、GeneXus Server Storage Migrator Utility を使用してください。
サーバーからナレッジベースを作成、クライアントのナレッジベースから接続を解除、ローカルで作業したナレッジベースを別のサーバーに送信することによってナレッジベースを移行した場合、新しいサーバーに作成されたそのサーバーナレッジベースは、移行元のサーバーナレッジベースとは別物であり、ほかのクライアントのナレッジベースでは、この新しい GXserver インスタンスを使用するように変更を加えることはできません。サーバーからナレッジベースを新規に作成する必要があります。



サブページ
Created: 14/09/18 03:11 by Admin Last update: 23/05/09 22:56 by Admin
カテゴリ
Powered by GXwiki 3.0