Lorsque j'ouvre la ligne de commande SQL, j'écris CONNECT username/password@[//]Host[:port][/service_name]
et cela me connecte parfaitement à la base de données. Cependant, je ne parviens pas à me connecter à partir d'un projet .NET à l'aide d'une chaîne de connexion. J'ai essayé beaucoup de choses telles que <add name="ConnectionString" connectionString="Data Source=username/password@[//]Host[:port][/service_name];" />
et <add name="ConnectionString" connectionString="server=tcp:Host;Initial Catalog=service_name; user id=username; password=password; Connection Timeout=180;" providerName="System.Data.OracleClient" />
, mais rien n'a fonctionné jusqu'à présent. Chaque fois que j'arrive à sconn.Open();
dans ce qui suit:
var CurrentConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sconn = new SqlConnection(CurrentConnectionString);
sconn.Open();
J'ai pratiquement toujours l'erreur suivante:
Une erreur liée au réseau ou spécifique à une instance s'est produite pendant que établir une connexion à SQL Server. Le serveur n'a pas été trouvé ou n'était pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: SQL Interfaces réseau, erreur: 25 - La chaîne de connexion n'est pas valide)
Comment puis-je me connecter correctement à la base de données?
Essayez de suivre la chaîne de connexion
string con = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host = 000.00.0.00)(PORT = 0000)))(CONNECT_DATA =(SERVICE_NAME = database)));User ID=User/Schema;Password=password;Unicode=True";
& utilisez ensuite cette chaîne de connexion comme suit
using (OracleConnection objConn = new OracleConnection(con))
{
\\ code
}
Je recommande fortement d'utiliser "le pilote géré officiel Oracle ODP.NET".
https://www.nuget.org/packages/Oracle.ManagedDataAccess/
Ou celui du framework Entity: https://www.nuget.org/packages/Oracle.ManagedDataAccess.EntityFramework/
Après l’installation via Visual Studio, il ouvre un fichier Lisez-moi que je vous recommande également de lire.
Oracle fournit d’énormes quantités de documentation. Voici par où commencer:http://www.Oracle.com/technetwork/topics/dotnet/whatsnew/index.html
Vous utilisez System.Data.SqlClient.SqlConnection
qui est utilisé pour vous connecter à un (Microsoft) SQL Server, il ne peut pas être utilisé pour une connexion Oracle.
Vous devriez utiliser System.Data.OracleClient.OracleConnection
ou Oracle.ManagedDataAccess.Client.OracleConnection
Jetez un coup d’œil à cette réponse pour voir aussi les autres possibilités: Comment se connecter à la base de données Oracle 11 à partir de. net