EMCに既に登録されているものと同じバージョンもしくは、古いバージョンのモジュール(fpgファイル)を登録することはできません。
以下の手順にて登録されているモジュールをリセットすることで、再登録することができます。
■アップデートモジュール再登録手順
※事前に自動ダウンロードを無効にしてください
また、事前にデータベースのバックアップも取得してください。
1.WebUIの左メニュー「手動ダウンロード」画面にて一番上のコンポーネント「FFR yarai」の「バージョン」を確認してください。
2.以下のようにEMCサーバーのコマンドプロンプトから2つのSQLを実行してください。
sqlcmd -S <SQLサーバのホスト名>\<インスタンス名> -U <データベースのユーザー> -P <データベースユーザーのパスワード> -d <データベース名> -Q """"下記SQL文"""" >> c:\result.txt
■1回目のSQL
SELECT ID FROM Version WHERE YaraiVersion = '<1で確認したバージョン>'
■2回目のSQL
DELETE FROM Version WHERE ID = '1回目のSQL結果(c:\result.txt)で確認したID'
3.c:\result.txtをご確認いただき、IDを確認します。
4.以下ディレクトリに移動します。(例:2008 server の場合)
C:\ProgramData\FFR\ConsoleServer\Repository\conf\
5.移動したディレクトリにxmlファイルがありますので、3.で確認したIDをファイル名に含むxmlを削除してください。
※version_[3で確認したID(小文字の場合もあります)].xml
6.以下ディレクトリに移動します。(例:2008 server の場合)
C:\ProgramData\FFR\ConsoleServer\Repository\product\yarai\
7.移動したディレクトリにバージョン名のフォルダがありますので、1.で確認したバージョン名フォルダを削除してください。
8.以下ディレクトリに移動します。(例:2008 server の場合)
C:\ProgramData\FFR\ConsoleServer\Repository\product\yarai\MISC\
9.移動したディレクトリにバージョン名のフォルダがありますので、1.で確認したバージョン名フォルダを削除してください。
10.これでリセット作業は完了ですので、fpgファイルにて登録されたいバージョンのモジュールを登録してください。
11.手動ダウンロード画面にて該当バージョンが表示されていれば完了です。
もし、2.の2回目のSQL実行で次のようなエラーが表示される場合、追加で以下を実施してください。
【出力メッセージ】
メッセージ 547、レベル 16、状態 1、サーバー <SQLサーバのホスト名>\<インスタンス名>、行 1
DELETEステートメントはREFERENCE制約""""FK_Clients_Version""""と競合しています。
競合が発生したのは、データベース""""<データベース名>""""、テーブル""""dbo.Clients"""",colums 'VersionIs'です。
ステートメントは終了されました。
手順2.で発生したエラーにつきまして、エラーを解消するため、以下の手順を実施してください。
A. データベースに影響が出るため、必ずデータベースのバックアップを取ってください
(理由としては何らかの原因でデータベースの書き換えに失敗してもデータベースを復旧できるようにするためです)
B. アップデートモジュールのバージョンから削除したいレコードのIDを調べるため、以下のSQL文を実行して下さい
SELECT ID FROM Version WHERE YaraiVersion = '<「手動ダウンロード」で確認したバージョン>'
C. Clients テーブルから影響がでるクライアントのレコードの件数を調べるため、以下のSQL文を実行して下さい
SELECT COUNT(*) FROM Clients WHERE VersionId = '<アップデートモジュールのID>'
D. Clients テーブルとVersion テーブルとの外部キーの結びつきを解除するために Clients テーブルの VersionId を
NULL に更新するため、以下のSQL文を実行して下さい
UPDATE Clients SET VersionId = NULL WHERE VersionId = '<アップデートモジュールのID>'
E. アップデートモジュールのレコードを削除します
DELETE FROM Version WHERE ID = '<アップデートモジュールのID>'
また、SQL文を行う際に、以下のコマンドを元に行う必要があります。
sqlcmd -S <SQLサーバのホスト名>\<インスタンス名> -U <データベースのユーザー> -P <データベースユーザーのパスワード> -d <データベース名> -Q """"上記SQL文"""" >> c:\result.txt
上記を実施し、c:\result.txtを確認し、エラーがなかった場合は、手順の4.から再開してください。