web-dev-qa-db-fra.com

Comment établir un OracleConnection sans utiliser la classe obsolète OracleConnection

Quelle est la "nouvelle" façon d'établir une connexion Ora? Microsoft définit plusieurs classes comme obsolètes.

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

J'avais l'habitude de faire quelque chose dans ce sens:

 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);
    }

Cependant, toutes ces classes semblent être déconseillées.

5
SighteD

Oui, le System.Data.OracleClient est obsolète.

Téléchargez le dernier client Oracle (ODP.Net) en suivant le lien ci-dessous:

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

et référencez l'espace de noms suivant dans votre code

using Oracle.DataAccess.Client;
5
Werner Bisschoff

Vous n'en avez pas parlé - mais si vous codez sous VS - Ouvrez votre projet dans l'Explorateur de solutions, développez les références et assurez-vous que System.Data.OracleClient n'est PAS répertorié, ainsi que Oracle.ManagedDataAccess IS.
Si vous avez déjà installé ODT, vous avez terminé (pour le moment).

Bonne chance!

0
jmaschle

OracleClient était obsolète après .NET 4.0. Vous avez plusieurs options maintenant:

Fournisseur de données Oracle pour .NET (ODP.NET)

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

dotConnect pour Oracle de DevArt

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

0
William Xifaras

Il est toujours là dans la version 4.5 mais aurait disparu dans la prochaine version.

Citation:

Microsoft vous recommande d'utiliser un fournisseur Oracle tiers

Voir aussi cette réponse: Fournisseurs Oracle tiers pour .Net avec prise en charge du type d'objet

Edit: En voici un: http://www.Oracle.com/technetwork/topics/dotnet/index-085163.html

0
Andre Haverdings