Management Reporter 2012 プロセス サービスが予期せず停止する

この記事では、Management Reporter 2012 Process Service が予期せず停止する問題の解決策について説明します。

適用対象: Microsoft Management Reporter 2012、Microsoft Dynamics GP
元の KB 番号: 2728968

現象

Management Reporter 2012 プロセス サービスが繰り返し開始および停止し、次のいずれかのエラーが発生します。

Management Reporter では、次のエラーが発生します。

操作を完了できませんでした。この操作を実行すると、不適切な参照が作成されるためです。

イベント ビューアーでは、次のエラーが表示されます。

アプリケーション: MRServiceHost.exe Framework バージョン: v4.0.30319 説明: 未処理の例外が原因でプロセスが終了しました。 例外情報: System.Configuration.ConfigurationErrorsException Stack: System.Configuration.Configuration.ConfigurationManager.GetSection.GetSection(System.Configuration.PrivilegedConfigurationManager.GetSection(System.String) at System.ConfigurationManager.GetSection(System.String) at System.Configuration.Configuration.PrivilegedConfigurationManager.GetSection(System.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String) at System.Configuration.Configuration.BaseConfigurationRecord.GetSection(System.String.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String.String) at System.Configuration.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.Configuration.BaseConfigurationRecord.GetSection(System.String)at System.Configuration.BaseSystem.Data.Object.ObjectContext.CreateEntityConnection(System.String) の System.Data.Data.EntityClient.EntityConnection.GetFactory(System.String) にある System.Data.Common.DbProviderFactories.Initialize() (System.Data.EntityClient.EntityConnection.ChangeConnectionString(System.String) at Microsoft.Dynamics.Common.Scheduler.Data.SchedulerEntities..ctor(System.String) at Microsoft.Dynamics.Common.Scheduler.Data.SchedulerObjectContextFactory.CreateContext() at Microsoft.Dynamics.Common.Scheduler.Data.DataManager.RegisterScheduler(System.Guid, System.DateTime, Int32) at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.MakeDatabaseCurrent() at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.StartScheduler() at Microsoft.Dynamics.Performance.Reporting.Scheduler.SchedulerService。<OnStart>b__1() at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Threading.ThreadHelper.ThreadStart()

オブジェクト 'dbo に重複キーを挿入できません。ControlConfiguredIntegration'

System.Data.SqlClient.SqlException (0x80131904): INSERT ステートメントが FOREIGN KEY 制約 "Task_TaskType_Id" と競合しました。 データベース "ManagementReporter"、テーブル "Scheduling.TaskType"、列 'Id' で競合が発生しました。

ステートメントは終了しました。

原因

これは、MR サービスがインストールされているサーバー上の machine.config ファイルに DbProviderFactories> エントリが重複<している場合に発生します。 machine.config ファイルの既定のフォルダーの場所は C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config\ です。

解決方法

machine.config ファイル内の重複する DbProviderFactories /> エントリを削除します。

注:

machine.config ファイルに変更を加える前に、バックアップを作成します。

重複するエントリの例:

<DbProviderFactories>
<add name="IBM DB2 for i5/OS .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for i5/OS" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26" />
</DbProviderFactories>
<DbProviderFactories />

ここでエントリの例を修正するには、行を削除してから変更を \<DbProviderFactories /> 保存する必要があります。

詳細

machine.config で削除するエントリがわからない場合は、Microsoft サポートにお問い合わせください。