Oracle ODP.Net与Oracle .Net 3.5的Microsoft .Net提供程序中的数据类型不一致

时间:2014-10-06 10:09:18

标签: .net oracle ado.net

我有一个遗留的.Net 3.5应用程序(500,000行可执行代码,非常大),它支持Oracle和Sql Server,并使用现已弃用的Microsoft .Net提供程序(用于.Net框架)。我们被要求替换Oracle ODP.Net提供程序,但是我遇到了不兼容的数据类型的巨大问题。

例如,我们有数字(10,0)的数据库列表示整数(int32),数字(5,0)表示小整数(16位)。这些列由ADO.Net使用MS .Net提供程序返回,分别为int32和int16。但是,使用Oracle ODP.Net提供程序ADO.Net分别将它们返回为int64和int32,因为大多数代码都是DBMS中立的,并且必须与Sql Server一起使用,这会导致代码中出现严重的转换问题。

在这方面,有没有办法迫使ODP.Net提供商以与微软相同的方式运作?

如果没有,推荐的'修复'这种不相容性?

TIA

0 个答案:

没有答案