来自 .NET Framework Oracle 9i 数据访问的 .NET 5 参考

.NET 5 reference from a .NET Framework Oracle 9i Data Access

我正在开发一个需要引用现有 .NET Framework(4.6) class 库的小型 Web 应用程序。该库来自一个连接到 Oracle 9i 数据库以进行数据访问的旧项目。

由于ODP.NET不支持Oracle 9i,是否可以在.net 5项目中引用.net framework class库?

ODP.NET 程序集需要和Oracle (Instant) Client,他们的版本必须完全匹配!

根据 Client / Server Interoperability Support Matrix for Different Oracle Versions,您需要 Oracle Client 版本 11.2 或更早版本 - 如果“Oracle 9i”表示版本 9.2.0。

您仍然可以从 32-bit Oracle Data Access Components (ODAC) and 64-bit Oracle Data Access Components (ODAC)

下载 ODAC 11.2 版

但我想,您需要在 .NET Framework 版本上编译 4.x

我最后做的是使用 System.Data.OracleClient 命名空间并将所有需要的数据访问相关方法从旧的 .net 框架库移植到 .net5 项目。我必须将平台目标设置为 x86,因为 Any CPU 由于兼容性原因将无法工作。

还添加了一个提醒,即 Oracle 9i(对于较新的版本不确定)returns 整数作为小数(11.0)在转换 OracleDataReader 时抛出错误输入 类.