类型' System.InvalidOperationException'的例外情况发生在System.Data.dll中但未在用户代码中处理
其他信息:DataReader.GetFieldType(30)返回null。
我尝试了在stackoverflow上发布的所有修复程序,但似乎它对我不起作用。
我正在处理SQLServer数据库中有关地理位置的问题。我对其他数据类型没有任何问题,但是当列已经有了Geography时。它会产生错误。
我尝试将Microsoft.SqlServer.Types.dll放在bin文件夹中并在项目中引用它。发生同样的错误。
{ "消息":"发生了错误。", " ExceptionMessage":" DataReader.GetFieldType(30)返回null。", " ExceptionType":" System.InvalidOperationException", " StackTrace":"在System.Data.ProviderBase.SchemaMapping.SetupSchemaWithKeyInfo(MissingMappingAction mappingAction,MissingSchemaAction schemaAction,Boolean gettingData,DataColumn parentChapterColumn,Object chapterValue)\ r \ n在System.Data.ProviderBase.SchemaMapping..ctor(DataAdapter适配器,DataSet数据集,DataTable数据表) ,DataReaderContainer dataReader,Boolean keyInfo,SchemaType schemaType,String sourceTableName,Boolean gettingData,DataColumn parentChapterColumn,Object parentChapterValue)\ r \ n在System.Data.Common.DataAdapter.FillMappingInternal(DataSet数据集,DataTable数据表,String srcTable,DataReaderContainer dataReader,Int32) schemaCount,DataColumn parentChapterColumn,Object parentChapterValue)\ r \ n在System.Data.Common.DataAdapter.FillMapping(DataSet数据集,DataTable datatable,String srcTable,DataReaderContainer dataReader,Int32 schemaCount,DataColumn parentChapterColumn,Object parentChapterValue)\ r \ n在系统中.Data.Common.DataAdapter.FillFromReader(DATAS et dataData,DataTable datatable,String srcTable,DataReaderContainer dataReader,Int32 startRecord,Int32 maxRecords,DataColumn parentChapterColumn,Object parentChapterValue)\ r \ n在System.Data.Common.DataAdapter.Fill(DataTable [] dataTables,IDataReader dataReader,Int32 startRecord, Int32 maxRecords)\ r \ n在System.Data.Common.LoadAdapter.FillFromReader(DataTable [] dataTables,IDataReader dataReader,Int32 startRecord,Int32 maxRecords)\ r \ n在System.Data.DataTable.Load(IDataReader reader,LoadOption loadOption) ,在Arbiter.Core.BaseHelper.ExecuteReader()\ r \ n,在Arbiter.Helpers.SqlHelper.RetrieveT \ r \ n的System.Data.DataTable.Load(IDataReader reader)\ r \ n中的,FillErrorEventHandler errorHandler)\ r \ n在GjenesisServices.Models.DataAccessLayer`1.Retrieve(String命令,Object []参数)
答案 0 :(得分:-2)
我已经解决了这个问题。
Microsoft.SqlServer.Types的引用应该在GAC上
另外,将信息放在web.config
中解决了我的问题