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

发布于 2025-01-12 23:32:13 字数 147 浏览 0 评论 0原文

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

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

I am developing a small web application that needs to reference an existing .NET Framework(4.6) class library. This library is from an old project which connects to an Oracle 9i database for the data access.

Since Oracle 9i is not supported by ODP.NET, is it possible to reference the .net framework class library in the .net 5 project?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鸠书 2025-01-19 23:32:14

ODP.NET组件需要和Oracle(即时)客户端,它们的版本必须完全匹配!

根据不同 Oracle 版本的客户端/服务器互操作性支持矩阵,您需要 Oracle客户端版本 11.2 或更早版本 - 如果“Oracle 9i”表示版本 9.2.0。

输入图片此处说明

您仍然可以从 32 位 Oracle 数据访问组件 (ODAC)64 位 Oracle 数据访问组件 (ODAC)

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

The ODP.NET assembly needs and Oracle (Instant) Client, their versions have to match exactly!

According Client / Server Interoperability Support Matrix for Different Oracle Versions you need Oracle Client version 11.2 or older - if "Oracle 9i" means version 9.2.0.

enter image description here

You can still download ODAC version 11.2 from 32-bit Oracle Data Access Components (ODAC) and 64-bit Oracle Data Access Components (ODAC)

But I guess, you need to compile at .NET Framework version 4.x

西瓜 2025-01-19 23:32:14

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

还添加一个提醒,即 Oracle 9i(不确定较新版本)将整数返回为小数(11.0),在转换 OracleDataReader 时抛出错误到类型化的类。

What I ended up doing is using the System.Data.OracleClient namespace and ported all the needed data access related methods from the old .net framework library to the .net5 project. I had to set the platform target to x86, since Any CPU will not work due to compatibility reasons.

Also adding a reminder that Oracle 9i(not sure with newer versions) returns integers as decimals (1 to 1.0) throwing an error when converting OracleDataReader to typed classes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文