【问题标题】:Replacing System.Data.OracleClient to Oracle.DataAccess (ODP.NET)将 System.Data.OracleClient 替换为 Oracle.DataAccess (ODP.NET)
【发布时间】:2011-11-21 20:18:57
【问题描述】:

我现在有一个项目正在使用 System.Data.OracleClient,因为它已被弃用,所以我想切换到 Oracle 11g 的 ODP.NET 最新版本。请让我知道以下步骤是否对我有用,或者需要执行某些其他操作才能使其正常工作且不会出现任何错误:

  • 删除对 SYStem.Data.OracleClient 的引用
  • 添加对 Oracle.DataAccess dll 的引用
  • 将 OracleType 枚举替换为 OracleDbType 并将对数据类型的引用从 VarChar 更新为 Varchar2 等。

【问题讨论】:

  • 当然,更改您的using 指令。但除此之外,我认为它们是专门为兼容而设计的,因此您可以将其作为替代品。

标签: c# .net oracle oracle11g odp.net


【解决方案1】:

你已经明白了。

这是我在执行此操作时遵循的 Oracle 文章:http://www.oracle.com/technetwork/topics/dotnet/code-154692.html

还有两件事要做:

  1. 修复您的连接字符串。

  2. 使用OracleCommand.BindByName = true

  3. 告诉您的 OracleCommand 实例您希望按名称而不是位置绑定参数

建议:当你修复你的连接字符串时,通过将整个连接字符串放在你的程序中,摆脱对 TNSNAMES.ORA 的任何依赖。

【讨论】:

  • 谢谢。周末会试一试,然后告诉你。我不想在工作日这样做,因为如果出现问题,整个团队都会因此受到影响:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多