简体   繁体   English

Telerik Open Access错误:异常:System.ArgumentNullException:值不能为null。 参数名称:converterName

[英]Telerik Open Access error: Exception: System.ArgumentNullException: Value cannot be null. Parameter name: converterName

I am currently experiencing an issues where a handful of queries to stored procedures hooked up via Telerik Open Access (v2015.1.87.3777) are returning the following error: 我目前遇到一个问题,其中对通过Telerik Open Access(v2015.1.87.3777)连接的存储过程的少数查询返回以下错误:

Exception: System.ArgumentNullException: Value cannot be null. 异常:System.ArgumentNullException:值不能为null。 Parameter name: converterName. 参数名称:converterName。

The error occurs at the point when the stored procedure is executed in the dynamically generated embedded .cs file of the .rlinq designer. 在.rlinq设计器的动态生成的嵌入式.cs文件中执行存储过程时,会发生错误。 Eg, 例如,

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

However, this is only happening on certain environments and not others, with seemingly the exact same config. 但是,这仅在某些环境下发生,而在其他环境下却没有发生,看似完全相同的配置。 This only started happening last night with no code changes. 这只是从昨晚开始发生的,没有代码更改。 Prior to yesterday everything was working fine across the board. 昨天之前,一切工作正常。

I can reproduce the issue locally, and if I run the solution locally and point to a database server that I know works everything is fine. 我可以在本地重现该问题,如果我在本地运行该解决方案并指向我知道可以正常工作的数据库服务器,则一切正常。 But if I change the connection string and point to a different server that I know doesn't work I get the error. 但是,如果我更改连接字符串并指向其他我不知道的服务器,则会收到错误消息。 So the underlying code is exactly the same (given I am running it locally) with the only thing changing is the connection string. 因此,底层代码完全相同(假设我在本地运行),唯一的变化就是连接字符串。 And it's calling identical stored procedures – in fact the entire database is a clone of another that works. 它调用的是相同的存储过程–实际上,整个数据库是另一个有效数据库的克隆。

I tried rolling back to previous versions of Telerik Open Access, which has had no effect. 我尝试回滚到以前的Telerik Open Access版本,但没有任何效果。 I have absolutely no idea what could've caused this, and no explanation why this is has surfaced, and in particular why it works on some environments, not others. 我完全不知道是什么原因造成的,也没有解释为什么它浮出水面,尤其是为什么它可以在某些环境下工作,而不是在其他环境下工作。

Here is the exception details. 这是例外详细信息。

System.ArgumentNullException was unhandled by user code HResult=-2147467261 Message=Value cannot be null. 用户代码HResult = -2147467261未处理System.ArgumentNullException消息=值不能为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 commandT 参数名称:converterName Source = Telerik.OpenAccess.Runtime ParamName = converterName StackTrace:在OpenAccessRuntime.Relational.metadata.RelationalMappingResolver.ResolveTypeConverterName(TypeConverterName converterName)在OpenAccessRuntime.Relational.metadata.RelationalMappingResolver.CreateConverter(Type) (Telerik.OpenAccess.Data.Common.OADataReader.GetConvertedValue [T](Int32 columnIndex)的OpenAccessRuntime.DataReaderTypeConverterImpl.Convert(Int32偏移量,类型targetType)在Telerik.OpenAccess.Data.Common.PropertyAccessor处。位于Telerik.OpenAccess.Data.Common.NonPersistentCapableMaterializer 1.d__0.MoveNext()的Impl`2.Set(Object inst,OADataReader reader,Int32 columnIndex)位于System.Collections的Telerik.OpenAccess.RT.TypedEnumerator 1.MoveNext()。 Telerik.OpenAccess.OpenAccessContextBase.ExecuteQuery [T](String commandT)的通用列表1..ctor(IEnumerable 1个集合) ext, 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: 在TestProject.ORM.PresentationData的c:\\ Projects ... \\ DataModels \\ PresentationData1.cs:行1789中的ext,CommandType commandType,DbParameter []参数)位于TestProject.ORM.PresentationData.GetTestResult(可空1 contextID,Int32&returnValue)。 c:\\ Projects ... \\ DataModels \\ PresentationData1.cs:1768行中的GetTestResult(Nullable 1 contextID),位于c:\\ Projects ... \\ DataHelpers \\ Presentation中的TestProject.ORM.DataHelpers.Presentation.GetTestResult(Int32 contextId)。位于c:\\ Projects ... \\ PresentationService.svc.cs:Line 404处TestProject.DataServices.PresentationService.GetTestResult(Int32 contextId)的cs:line 229位于System.ServiceModel的SyncInvokeGetTestResult(Object,Object [],Object []) .Dispatcher.SyncMethodInvoker.Invoke(对象实例,Object []输入,Object []和输出)位于System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&rpc)InnerException:

This was due to security updates that were rolled out on said servers. 这是由于在上述服务器上推出了安全更新。 Rolling these patches back resolved the issue: The two security updates were: 回滚这些补丁可以解决此问题:两个安全更新是:

  • KB3194719 (SQL) KB3194719(SQL)
  • KB3197873 (Windows) KB3197873(Windows)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 System.ArgumentNullException:&#39;值不能为null。 参数名称:键 - System.ArgumentNullException: 'Value cannot be null. Parameter name: key' System.ArgumentNullException: &#39;值不能为空。 参数名称:items&#39; - System.ArgumentNullException: 'Value cannot be null. Parameter name: items' System.ArgumentNullException: '值不能是 null。 参数名称:providerInvariantName' - System.ArgumentNullException: 'Value cannot be null. Parameter name: providerInvariantName' System.ArgumentNullException: &#39;值不能为空。 参数名称:提供者&#39; - System.ArgumentNullException: 'Value cannot be null. Parameter name: provider' System.ArgumentNullException:“值不能是 null。 参数名称:实体” - System.ArgumentNullException: “Value cannot be null. Parameter name: entity” 如何修复 Xamarin &#39;System.ArgumentNullException:&#39;值不能为空。 参数名称:地址&#39;异常 - How to fix Xamarin 'System.ArgumentNullException: 'Value cannot be null. Parameter name: address' Exception Add-Migration异常:System.ArgumentNullException:值不能为null。 参数名称:属性 - Add-Migration exception: System.ArgumentNullException: Value cannot be null. Parameter name: property ServiceStack.RequestFilterAsyncAttribute 错误:System.ArgumentNullException:值不能是 null。 参数名称:方法 - ServiceStack.RequestFilterAsyncAttribute error: System.ArgumentNullException: Value cannot be null. Parameter name: method System.ArgumentNullException:值不能为 null。(参数“connectionString”) - System.ArgumentNullException: Value cannot be null. (Parameter 'connectionString') Winform: System.ArgumentNullException: &#39;值不能为空。 (参数&#39;流&#39;)&#39; - Winform: System.ArgumentNullException: 'Value cannot be null. (Parameter 'stream')'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM