【问题标题】:How to establish a OracleConnection without making use of the obsolete OracleConnection Class如何在不使用过时的 OracleConnection 类的情况下建立 OracleConnection
【发布时间】:2016-10-10 04:13:27
【问题描述】:

建立 OraConnection 的“新”方式是什么? Microsoft 定义了几个已过时的类。

https://msdn.microsoft.com/en-us/library/system.data.oracleclient.aspx

我曾经使用过类似的东西:

 string queryString = 
    "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
using (OracleConnection connection = new OracleConnection(connectionString))
{
    OracleCommand command = new OracleCommand(queryString);
    command.Connection = connection;
    try
    {
        connection.Open();
        command.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }

但是所有这些类似乎都被弃用了。

【问题讨论】:

  • 它们现在已经过时了,因为 Oracle 已经提供了自己的 ADO.NET 提供程序,因此微软继续开发这些类没有多大意义。下载 Oracle ADO.NET 提供程序并使用它的类(顺便说一下,我认为它们的名称几乎相同)
  • 作为已弃用库的旁注......我认为 ODP.Net 支持无 tns 的连接字符串。 connectionstrings.com/oracle-provider-for-ole-db-oraoledb/…

标签: c# database oracle msdn system.data.oracleclient


【解决方案1】:

是的,System.Data.OracleClient 已过时。

按照以下链接下载最新的 Oracle 客户端 (ODP.Net):

http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

并在您的代码中引用以下命名空间

using Oracle.DataAccess.Client;

【讨论】:

  • 它可以工作,但是当我启动控制台应用程序时,我收到 17 个警告:Severity Code Description Project File Line Suppression State Warning CS0618 'OracleDataAdapter' is obsolete: 'OracleDataAdapter has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260' WindowsFormsApp1
【解决方案2】:

它在 4.5 中仍然存在,但会在下一个版本中消失。

引用:

Microsoft 建议您使用第三方 Oracle 提供商

另请参阅此答案:Third-Party Oracle Providers for .Net with object type support

编辑:这是一个:http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

【讨论】:

    【解决方案3】:

    OracleClient 在 .NET 4.0 之后被弃用。您现在有多种选择:

    适用于 .NET (ODP.NET) 的 Oracle 数据提供程序

    http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

    来自 DevArt 的 dotConnect for Oracle

    https://www.devart.com/dotconnect/oracle/

    【讨论】:

      【解决方案4】:

      您没有提到它 - 但如果您在 VS 中编码 - 在解决方案资源管理器中打开您的项目,展开引用并确保 System.Data.OracleClient 未列出,并且 Oracle.ManagedDataAccess 已列出。
      如果您已经安装了 ODT,那么您就完成了(现在)。

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-13
        • 1970-01-01
        • 2013-06-11
        • 1970-01-01
        • 2020-02-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多