Bonjour,
je cherche actuellement à me connecter à une base oracle en csharp.
Pour ce faire j'ai commencé par installer oracle 11 sur un poste, j'essaie de me connecter à partir d'un second poste. (les deux postes sont sous windows xp)
J'ai effectué différents tests pour cibler le problème.
J'ai essyé de modifier le listener.ora pour y mettre les infos de l'instance d'oracle à laquelle j'essaie de me connecter (en gras), rien n'y fait. Voici mon listener.ora1.
tnsping à partir du poste client
listener.ora par défaut
le tnsping renvoie une erreur ORA - 12541 : aucun processus d'écoute
2.
tnsping à partir du poste client
listener.ora renommé en listener.ora.old
le tnsping fonctionne
3.
connexion à partir d'un webservice ASP.NET
listener.ora par défaut
erreur ORA - 12541 : aucun processus d'écoute
4.
connexion à partir d'un webservice ASP.NET
listener.ora renommé en listener.ora.old
erreur ORA-12505: TNS : le processus d'écoute ne connaît pas actuellement le SID indiqué dans le descripteur de connexion
5.
avec le listener.ora renommé en .old
- lsnrctl services
le processus d'écoute ne prend en charge aucun service
- lsnrctl start <MON_SID>
TNS-01151 : nom de processus d'écoute absent, <MON_SID>, dans LISTENER.ORA
6.
avec le listener.ora modifié comme plus bas
-lsnrctl services
Le service "mon sid" comporte 1 instance.
L'instance "mon sid", statut UNKNOWN, comporte 1 gestionnaire pour ce service.
Pour ce qui est du web service qui s'y connecte il est des plus simplistes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 # listener.ora Network Configuration File: mon_poste\product\11.2.0\dbhome_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = mon_poste\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:mon_poste\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC = (SID_NAME = <MON_SID>) (ORACLE_HOME = mon_poste\product\11.2.0\dbhome_1) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) ADR_BASE_LISTENER = mon_poste
(J'ai testé le fait de me connecter à une bdd déjà toute configurée sur un serveur et ça fonctionnait bien)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 OracleConnection conn = new OracleConnection("Data Source = GPS; User Id =mon_user; Password =mon_mdp"); conn.Open(); string req = "SELECT TYPE FROM MISSIONS WHERE NOM_MISSION = 'ma_mission'"; OracleCommand command = new OracleCommand(req, conn); command.ExecuteScalar().ToString();
Selon moi le problème vient du listener.ora qui doit être mal fait, mais c'est la première fois que je travaille avec Oracle et je ne sais pas du tout comment le modifier.
Je vous ai donné les resultats de tous les tests qui me sont passés par la tête, si quelque chose d'autre aiderai à comprendre mon problème, je vous le donnerai.
Merci d'avance pour votre aide,
Laraannain
edit :
après quelques nouvelles recherches, je pense à un problème au niveau de l'authentification au listener.
Actuellement :
sécurité ON : Local OS Authentication
Je peux le protéger par un mdp mais il faudrait alors que je sache où et comment mettre ce mdp lors de la connexion à partir de l'autre poste.
(soit dans la chaine de connection dans mon code csharp, soit dans le tnsnames.ora)
Partager