web-dev-qa-db-fra.com

Connectez-vous à la base de données Oracle depuis le noyau asp.net

Tout d'abord, j'ai lu d'autres articles sur la connexion à une base de données Oracle. Malheureusement, ils ne pouvaient pas m'aider. Je vais décrire ce que j'ai essayé et j'espère que quelqu'un pourra me diriger dans la bonne direction.

Tout d'abord, j'ai essayé d'installer ODTwithODAC122010 comme le disent beaucoup de sources, mais celui-ci me donne quelques processus sortis avec un code de sortie non nul. Il dit que c'est réussi mais rien ne semble avoir changé.

A côté de cela, j'ai essayé d'installer ODTforVS2017_122010.exe. J'ai un professionnel Visual Studio mis à jour. Il dit que l'installation est un succès. Cela ne semble cependant ajouter aucune option comme le décrivent les tutoriels. Je veux dire par là qu’il devrait y avoir quelque chose de visible dans;

outils de visual studio -> connexion à la base de données -> base de données Oracle, le menu du fournisseur de données devrait avoir quelque chose comme Oracle pour .. Cela ne s'affiche malheureusement pas ..

J'ai donc essayé de me connecter à la base de données dans mon projet Visual Studio en sélectionnant le fournisseur de données-cadre .net pour Oracle. Ici, trois champs sont demandés: Nom du serveur nom d'utilisateur et mot de passe. J'ai essayé de les remplir mais la connexion a échoué. Pour le nom du serveur que j'ai utilisé: IPADDRESS: PORT/SERVICENAME

Après cela, j'ai abandonné tout espoir de se connecter à la base de données via Visual Studio (je peux me connecter à la base de données à l'aide du développeur Oracle SQL).

Ensuite, j'installe les packages de nuget suivants: - Oracle.ManagedDataAccess - System.Configuration.ConfigurationManager - System.Security.Permissions - System.Security.Principal

Et écrit un morceau de code pour se connecter à la base de données comme:

using(OracleConnection connect = new OracleConnection(ConnectionDetails.returnConnectionString()))
{
    connect.Open();
    Console.WriteLine("did it work?" + connect.ServerVersion);
}

Où returnConnectionString renvoie:

"User Id=MYID;Password=MYPASSWORD;Data Source=IPADDRESS:PORT/SERVICENAME"

Malheureusement, lorsque j'essaie de l'exécuter, je suis confronté à un fichier ExecutionContext.cs introuvable. Cela se passe à connect.open ();

Je lance ce code à l'adresse:

    public static void Main(string[] args)
    {
        var a = new DatabaseConnector();
        a.test();
        BuildWebHost(args).Run();
    }

En conclusion, je tiens à préciser que j’utilise ASP.NET Core et que vos suggestions et votre aide seront grandement appréciées!

4
S B

Pour être précis, 

  1. Clic droit sur votre projet
  2. Allez à gérer les paquets NuGet
  3. Recherchez Oracle.manageddataaccess.core. Vous obtiendrez la version 2.12.0-beta2 du paquet Nuget. Ajoutez-le.
  4. Dans la page, importez comme ci-dessous pour accéder aux classes Oracle

    using Oracle.ManagedDataAccess.Client;

Il s'agit d'une version bêta du fournisseur d'accès aux données Oracle et la version de PROD est censée être disponible à la fin du 3ème trimestre de 2018. 

5
Sathishkumar

Il n'y a actuellement aucun support ODP.NET pour .NET Core, il était supposé être sorti l'année dernière, mais il n'y a pas eu plus de nouvelles que et ça vient Tweet du compte Twitter ODP il y a quelques semaines.

Vous pouvez faire fonctionner la version actuelle en déplaçant votre projet de .netcoreapp2 vers un framework cible net461 ou supérieur, mais cela supprimerait le support multiplateforme de votre projet.

Pour déplacer votre projet vers .net461 ou tout autre, procédez comme suit:

  1. Editez votre fichier csproj et remplacez la TargetFramework par net461
  2. Si vous avez un projet Web, supprimez le paquet Microsoft.AspNetCore.All et installez le Microsoft.AspNetCore (qui devrait télécharger les autres dépendances).
1
Roy Sanchez

Au moment de poser cette question, il n'y avait aucun chauffeur Roy Sanchez a répondu à cela. Quelques semaines plus tard, le pilote a été publié sur le site Oracle et un package en tant que nuget.

0
S B