查看下,ORACLE数据表中的那个内容是GUID值,然后又有哪个字段的内容被转换为了.NET中的GUID类型。
从错误信息看,是你得到的GUID数据在转换为.NET下的GUID对象时失败导致的。
如果还不能解决,把相应的数据内容贴出来。
GUID是一个16字节的数据内容,一般转换为字符串的时候,都是32字节(16进制表现)。
最终的字符串可能是32字符、36字符(带4个“-”分割)、38字符(在36字符的基础上用“{}”标记)
哈哈,已解决,之前操作的oracle表数据中的Guid是用oracle自带的SYS_GUID()这个函数生成的,这种Guid值在.Net下获取会报"GUID 的字节数组长度必须正好为 16 字节.".
解决办法是oracle表中的Guid值采用.Net下 的Guid.NewGuid()方法插入生成.
也就是oracle自带的SYS_GUID()函数生成的Guid值.Net下无法接收,而.Net自己的Guid.NewGuid()方法生成的Guid可以插入接收.