2016-11-22 3 views
1

Ich erlebe derzeit eine Frage, bei denen eine Handvoll Anfragen an gespeicherten Prozeduren angeschlossen über Telerik Open Access (v2015.1.87.3777) sind die folgenden Fehler zurückgegeben:Telerik Open Access-Fehler: Ausnahme: System.ArgumentNullException: Wert kann nicht null sein. Parametername: converterName

Exception: System.ArgumentNullException: Value cannot be null. Parameter name: converterName.

Der Fehler tritt bei der Punkt, an dem die gespeicherte Prozedur in der dynamisch generierten eingebetteten CS-Datei des RSLD-Designers ausgeführt wird. Z. B.

IEnumerable<TestResult> queryResult = this.ExecuteQuery<TestResult>("[TestSchema].[spS_GetTestResult]", CommandType.StoredProcedure, parameterContextID, parameterReturnValue); 

Dies ist jedoch nur geschieht auf bestimmte Umgebungen und andere nicht, mit scheinbar genau die gleiche Konfiguration. Dies geschah erst letzte Nacht ohne Codeänderungen. Vorgestern hat alles auf der ganzen Linie gut funktioniert.

Ich kann das Problem lokal reproduzieren, und wenn ich die Lösung lokal ausführen und auf einen Datenbankserver zeigen, der funktioniert, ist alles in Ordnung. Aber wenn ich die Verbindungszeichenfolge ändere und auf einen anderen Server zeige, von dem ich weiß, dass er nicht funktioniert, bekomme ich den Fehler. Der zugrunde liegende Code ist also genau derselbe (vorausgesetzt, ich benutze ihn lokal), mit der einzigen Änderung ist die Verbindungszeichenfolge. Und es ruft identische gespeicherte Prozeduren auf - in der Tat ist die gesamte Datenbank ein Klon eines anderen, der funktioniert.

Ich habe versucht, zurück zu früheren Versionen von Telerik Open Access, die keine Wirkung hatte Rollback. Ich habe absolut keine Ahnung, was das verursacht haben könnte, und keine Erklärung, warum das aufgetaucht ist, und insbesondere warum es in einigen Umgebungen funktioniert, nicht in anderen.

Hier ist die Ausnahmedetails.

System.ArgumentNullException was unhandled by user code HResult=-2147467261 Message=Value cannot be null. Parameter name: converterName Source=Telerik.OpenAccess.Runtime ParamName=converterName StackTrace: at OpenAccessRuntime.Relational.metadata.RelationalMappingResolver.ResolveTypeConverterName(TypeConverterName converterName) at OpenAccessRuntime.Relational.metadata.RelationalMappingResolver.CreateConverter(TypeConverterName converterName) at OpenAccessRuntime.DataReaderTypeConverterImpl.Setup(Int32 offset, Type targetType) at OpenAccessRuntime.DataReaderTypeConverterImpl.Convert(Type targetType, Int32 offset) at Telerik.OpenAccess.Data.Common.OADataReader.GetConvertedValue[T](Int32 columnIndex) at Telerik.OpenAccess.Data.Common.PropertyAccessor.Impl`2.Set(Object inst, OADataReader reader, Int32 columnIndex) at Telerik.OpenAccess.Data.Common.NonPersistentCapableMaterializer 1.d__0.MoveNext() at Telerik.OpenAccess.RT.TypedEnumerator 1.MoveNext() at System.Collections.Generic.List 1..ctor(IEnumerable 1 collection) at Telerik.OpenAccess.OpenAccessContextBase.ExecuteQuery[T](String commandText, CommandType commandType, DbParameter[] parameters) at TestProject.ORM.PresentationData.GetTestResult(Nullable 1 contextID, Int32& returnValue) in c:\Projects...\DataModels\PresentationData1.cs:line 1789 at TestProject.ORM.PresentationData.GetTestResult(Nullable 1 contextID) in c:\Projects...\DataModels\PresentationData1.cs:line 1768 at TestProject.ORM.DataHelpers.Presentation.GetTestResult(Int32 contextId) in c:\Projects...\DataHelpers\Presentation.cs:line 229 at TestProject.DataServices.PresentationService.GetTestResult(Int32 contextId) in c:\Projects...\PresentationService.svc.cs:line 404 at SyncInvokeGetTestResult(Object , Object[] , Object[]) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) InnerException:

Antwort

0

Dies war auf Sicherheitsupdates zurückzuführen, die auf diesen Servern bereitgestellt wurden. Roll diese Patches wieder das Problem gelöst: Die beiden Sicherheitsupdates waren:

  • KB3194719 (SQL)
  • KB3197873 (Windows)
Verwandte Themen