如何在不使用过时的OracleConnection类的情况下建立Oracle连接

10

如何通过“新”的方式建立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提供程序并使用它的类(顺便说一句,我认为它们的名称几乎相同)。 - Steve
顺带提一下,已被废弃的库……我认为ODP.Net支持无TNS连接字符串。https://www.connectionstrings.com/oracle-provider-for-ole-db-oraoledb/tns-less-connection-string/ - granadaCoder
5个回答

7

程序能够正常运行,但当我启动控制台应用程序时,会出现17个警告:严重代码描述项目文件行压制状态警告CS0618 'OracleDataAdapter'已过时:'OracleDataAdapter已被弃用。 http://go.microsoft.com/fwlink/?LinkID=144260' WindowsFormsApp1 - csandreas1

0

0

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

祝好运!


0
这是我的两分钱意见:你必须使用Oracle.ManagedDataAccess NuGet包,而不是System.Data.Oracle.Client。

根据目前的写法,你的回答不够清晰。请编辑以添加更多细节,帮助其他人理解这如何回答所提出的问题。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接