异常[System.InvalidOperationException: 未指定'xxx'的定制类型映射或该映射]解决方案
2017-01-24 16:08
721 查看
在使用C#代码向Oracle数据库取数据,但是因为是面向对象的方式,所以在C#中的Model对象,在Oracle中也建立了相应的对象,而且在C#的Oracle连接代码中,要做好相应的映射。
在运行的时候,发现抛出了这个异常:
ex=System.InvalidOperationException: 未指定'dataSource='xxxxxx' schemaName='xxx' typeName='xxx'的定制类型映射或该映射无效
at Oracle.DataAccess.Types.OracleUdt.GetFactory(OracleUdtDescriptor udtDesc)
at Oracle.DataAccess.Client.OracleParameter.SetUDTFromArray(OracleConnection conn, Object array, Int32 i)
at Oracle.DataAccess.Client.OracleParameter.PreBind_Collection(OracleConnection conn)
at Oracle.DataAccess.Client.OracleParameter.PreBind(OracleConnection conn, IntPtr errCtx, Int32 arraySize)
at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.DataAccess.Client.OracleDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at HCC.Base.Comm.Dao.OraHelper.ExecuteDataTableSp(String dbkey, String procName, List`1 prams)
通过各种查找,发现问题的出处在于一不小心在Mapping代码中写错了UdtTypeName,这就导致了这个异常。把UdtTypeName拼写改正,就能使代码正常运行。
在运行的时候,发现抛出了这个异常:
ex=System.InvalidOperationException: 未指定'dataSource='xxxxxx' schemaName='xxx' typeName='xxx'的定制类型映射或该映射无效
at Oracle.DataAccess.Types.OracleUdt.GetFactory(OracleUdtDescriptor udtDesc)
at Oracle.DataAccess.Client.OracleParameter.SetUDTFromArray(OracleConnection conn, Object array, Int32 i)
at Oracle.DataAccess.Client.OracleParameter.PreBind_Collection(OracleConnection conn)
at Oracle.DataAccess.Client.OracleParameter.PreBind(OracleConnection conn, IntPtr errCtx, Int32 arraySize)
at Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.DataAccess.Client.OracleDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at HCC.Base.Comm.Dao.OraHelper.ExecuteDataTableSp(String dbkey, String procName, List`1 prams)
通过各种查找,发现问题的出处在于一不小心在Mapping代码中写错了UdtTypeName,这就导致了这个异常。把UdtTypeName拼写改正,就能使代码正常运行。
相关文章推荐
- 在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。
- 在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。
- C# ServerVersion = “Conn.ServerVersion”引发了“System.InvalidOperationException”类型的异常
- C#之解决 未处理的“System.InvalidOperationException”类型的异常出现在 System.dll中...
- [VB.NET]求助:::ServerVersion = “sqlconn.ServerVersion”引发了“System.InvalidOperationException”类型的异常
- 在 System.InvalidOperationException 中第一次偶然出现的“System.Xml.dll”类型的异常
- EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生
- EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生
- “System.InvalidOperationException”类型的未经处理的异常在 EntityFramework.dll 中发生
- ServerVersion 引发了“System.InvalidOperationException”类型的异常
- EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生
- C#之解决 未处理的“System.InvalidOperationException”类型的异常出现在 System.dll中...
- EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生
- ServerVersion = “conn.ServerVersion”引发了“System.InvalidOperationException”类型的异常
- connection .server version引发了system.invalidOperationException类型的异常
- ”System.InvalidOperationException”类型的未经处理的异常出现在 mscorlib.dll 中
- 困扰:C#.net 连接Oracle11g 不报错但是在connection时出现 ServerVersion 引发了“System.InvalidOperationException”类型的异常
- C# ServerVersion = “Conn.ServerVersion”引发了“System.InvalidOperationException”类型的异常
- System.InvalidOperationException: 生成 XML 文档时出错 这样的错误 序列化类型 xxx 的对象时检测到循环引用
- EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生