6

ライブ サイトから次のエラーを受け取りました。

System.Web.HttpUnhandledException: タイプ 'System.Web.HttpUnhandledException' の例外がスローされました。---> System.InvalidOperationException: 内部 .Net Framework データ プロバイダー エラー 60。 .EnlistPromotableSinglePhase(InternalTransaction tx, IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Transaction atomicTransaction) System.Transactions.Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification promotableSinglePhaseNotification) at System.Data.SqlClient.SqlInternalConnection.

ローカルでは再現できません。毎日このようなエラーが発生するわけではありませんが、理解して修正する必要があります。ログから、それが発生したコードは次のとおりであることがわかります。

           var transactionOptions = new System.Transactions.TransactionOptions();
           transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;

           using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
            {
                this.DataContext = new BMDataContext();// DataContext;
                if (patientAdmissionID != -1)
                {
                    PatientAdmission admission = queryAdmission(this.DataContext, patientAdmissionID);

                    transactionScope.Complete();
                    return admission;
                }
                transactionScope.Complete();
                return null;
            }

このメソッドは、linq を使用して DB から sql にデータを返す queryAdmission を呼び出します。

private static Func<BMDataContext, long, PatientAdmission> queryAdmission = System.Data.Linq.CompiledQuery.Compile(
               (BMDataContext context, long Id) => context.PatientAdmissions.FirstOrDefault(w => w.Id == Id));

このエラー「.Net Framework Data Provider error 60」について誰か助けてくれませんか。?

4

0 に答える 0