Причиной проблемы для меня была установка KB4565635 И / ИЛИ KB4565588. Удаление этого патча позволило моей подпрограмме SQLCLR работать правильно. Я буду вносить изменения в код для постоянного адреса. Я добавлю более подробную информацию после окончательного исправления. Опять же, никогда не рекомендуется исключать исправление KB навсегда, поэтому это краткосрочное исправление для меня.
EDIT: Я обнаружил, что были затронуты все функции SQLCLR или хранимые процедуры, содержащие XML. Мне удалось исправить это, добавив следующую строку в качестве первой строки в каждом объекте SQLCLR, который содержал XML функциональность ...
AppContext.SetSwitch ("Switch.System.Data.AllowArbitraryDataSetTypeInstantiation", true);
Например ... [SqlFunction (Name = "Event", FillRowMethodName = "EventFill", TableDefinition = "OccurredTime datetime, AckTime datetime, ClosedTime datetime, Категория smallint, State smallint, Priority smallint, Type smallint, EventDescription nvarchar (256), EventDetail xml ", DataAccess = DataAccessKind.Read)] * 1007 *
publi c stati c IEnumerable EventInit (SqlInt32 sourceDeviceId, SqlDateTime startDate, SqlDateConate (Время окончания) (endDtext) "Switch.System.Data.AllowArbitraryDataSetTypeInstantiation", true);
Сообщение об ошибке, которое появляется при появлении этой проблемы, выглядит следующим образом ...
Error on SourceDeviceAttributeId : 4
Msg 50000, Level 16, State 1, Procedure RefreshWarehouse, Line 223
Message: SDAID 4: Error 6522, Level 16, State 1, Procedure RefreshAggregateData, Line 216, A .NET Framework error occurred during execution of user-defined routine or aggregate "Trend":
System.TypeInitializationException: The type initializer for 'Scope' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException:
at System.Data.TypeLimiter.Scope..cctor()
System.TypeInitializationException:
at Eaton.FRSCoreDB.Database.UserDefinedFunctions.TrendInit(SqlInt32 sourceDeviceAttributeId, SqlDateTime startDate, SqlDateTime endDate, SqlInt32 maxRows)
OR ....
Инициализатор типа для 'Scope' выдал исключение. - в System.Data.TypeLimiter.Scope.IsTypeUnconditionalAllowed (тип типа) в System.Data.TypeLimiter.Scope.IsAllowedType (тип типа) в System.Data.TypeLimiter.EnsureTypeIsAllowed (тип типа, TypeLimiter захвачены. .UpdateColumnType (тип типа, StorageType typeCode) в System.Data.DataColumn..ctor (String columnName, Type dataType, String expr, MappingType type) в System.Data.XSDSchema.HandleElementColumn (элемент XmlSchemaElement is, таблица DataTable) System.Data.XSDSchema.HandleParticle (XmlSchemaParticle pt, таблица DataTable, таблица ArrayList tableChildren, логическое значение isBase) в System.Data.XSDSchema.HandleComplexType (XmlSchemaComplexType ct, таблица DataTable, ArrayListModel.TableChildren (таблица). Узел XmlSchemaElement, XmlSchemaComplexType typeNode, Boolean isRef) в System.Data.XSDSchema.HandleTable (узел XmlSchemaElement) в System.Data.XSDSchema.LoadSchema (XmlSchemaSet schemaSet, DataSet ds) a.DataSet.InferSchema (XmlDocument xdo c, String [] excludedNamespaces, режим XmlReadMode) в System.Data.DataSet.Read Xml (средство чтения XmlReader, режим XmlReadMode, логическое denyResolving) в * Amps.Pcm.clsOutdateData. 1024 * (SqlConnection conn, Int32 intClaimId, Decimal decPaymentPercent, String xmlResults) в Amps.Pcm.StoredProcedures.usp_adj_clr_api_outpatient_price (SqlInt32claim_id, SqlInt32 contract_id, SqlInt32 contract_id, Sql16String)