最近,为客户用Net写了个电子发票下载的平台,在部署到客服服务器的时候报了以下错误:DataReader.GetFieldType(0) 返回了 null。
本地调试是没任何问题的,那么肯定是服务器环境的问题了。
本地调试:win10
服务器环境:windows server 2016
数据库的话,本地和服务器没任何差别,我本地是直接远程连得数据库。
按照网上的一些方法
1、在连接字符串后面指定sql版本号:Type System Version=SQL Server 2012
没有任何作用
2、安装 SQLSysClrTypes.msi
地址:https://www.microsoft.com/en-us/download/details.aspx?id=52676
下载:SQLSysClrTypes.msi,下载页有2个文件,都安装了
也还是没用
3、最后没办法,把开发机的Microsoft.SqlServer.Types.dll文件复制到应用目录bin下面,问题就解决了。
当然你本地可能有好多个Microsoft.SqlServer.Types.dll文件,一个个试试吧。我复制的是Microsoft SQL Server\110\SDK\Assemblies目录下的。
最后,贴下具体的错误代码吧
“/”应用程序中的服务器错误。
DataReader.GetFieldType(0) 返回了 null。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: DataReader.GetFieldType(0) 返回了 null。
执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[InvalidOperationException: DataReader.GetFieldType(0) 返回了 null。]
System.Data.ProviderBase.SchemaMapping.SetupSchemaWithoutKeyInfo(MissingMappingAction mappingAction, MissingSchemaAction schemaAction, Boolean gettingData, DataColumn parentChapterColumn, Object chapterValue) +2260
System.Data.ProviderBase.SchemaMapping..ctor(DataAdapter adapter, DataSet dataset, DataTable datatable, DataReaderContainer dataReader, Boolean keyInfo, SchemaType schemaType, String sourceTableName, Boolean gettingData, DataColumn parentChapterColumn, Object parentChapterValue) +617
System.Data.Common.DataAdapter.FillMappingInternal(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 schemaCount, DataColumn parentChapterColumn, Object parentChapterValue) +157
System.Data.Common.DataAdapter.FillMapping(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 schemaCount, DataColumn parentChapterColumn, Object parentChapterValue) +122
System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +108
System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +508
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +281
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +182
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +129
CommonWeb.Core.Utility.GenericDataAccess.Execute() in E:\Net\CommonWeb.Core\Utility\GenericDataAccess.cs:156
CommonWeb.Core.Business.SysDao.login(String userName, String password, String clientInfo) in E:\Net\CommonWeb.Core\Business\SysDao.cs:137
CommonWeb.MVC.Areas.Admin.Controllers.LoginController.Login(String userName, String password) in E:\Net\CommonWeb.MVC\Areas\Admin\Controllers\LoginController.cs:32
lambda_method(Closure , ControllerBase , Object[] ) +191
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
System.Web.Mvc.Async.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39
System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +67
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__11_0() +72
System.Web.Mvc.Async.<>c__DisplayClass11_1.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() +386
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.<>c__DisplayClass3_6.<BeginInvokeAction>b__3() +50
System.Web.Mvc.Async.<>c__DisplayClass3_1.<BeginInvokeAction>b__5(IAsyncResult asyncResult) +186
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
System.Web.Mvc.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +26
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
System.Web.Mvc.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +41
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +399
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +157
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.6.1586.0
未经允许不得转载:
技术文章
»
.NET编程
»
DataReader.GetFieldType(0) 返回了 null。
上一篇
前言
下一篇
This version of ChromeDriver only supports Chrome version 81
uni.downloadFile 使用注意事项
uniapp drawImage 加载网络图片
getUnlimitedQRCode 获取不限制的微信小程序码
uni.addPhoneContact正式发布后,在小程序上点击无反应
IIS 400 错误:Bad Request - Invalid URL HTTP Error 400. The request URL is invalid.
HTML5+Runtime打包时未添加 Camera 模块,请参考https://ask.dcloud.net.cn/article/283
红冲和红字发票在形式上有什么不同?
红冲和红字发票有什么区别?
乐企平台开票跟直接电子税务局开票区别
乐企接入单位和使用单位的区别
IIS 400 错误:Bad Request - Invalid URL HTTP Error 400. The request URL is invalid.
HTML5+Runtime打包时未添加 Camera 模块,请参考https://ask.dcloud.net.cn/article/283
红冲和红字发票在形式上有什么不同?
红冲和红字发票有什么区别?
乐企平台开票跟直接电子税务局开票区别
乐企接入单位和使用单位的区别
国家税务总局乐企平台的功能
乐企本地化部署硬件要求
乐企税务服务平台怎样自动开票?
ORA-00942错误表示"表或视图不存在"
乐企平台是什么?