IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Installation Oracle Discussion :

Installation Oracle 10g Express avec .NET Oracle Data Provider


Sujet :

Installation Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Points : 41
    Points
    41
    Par défaut Installation Oracle 10g Express avec .NET Oracle Data Provider
    Bonjour,

    Je viens d'installer Oracle 10g Express, pour une utilisation avec Visual Studio .NET.

    J'ai donc installé Oracle 10g, tout s'est bien passé.
    Via SQLPLUS, je me suis connecté ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect SYSTEM/SysPassword@MaBase;
    Connexion OK, sans problème.

    J'ai alors créé un utilisateur avec des droits restreints sur la base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    create user MonUser identified by UserPassword;
    grant create session to MonUser;
    Je me suis ensuite connecté avec ce utilisateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect MonUser/UserPassword@MaBase;
    Là encore, connexion OK, pas de problème.


    J'ai donc voulu tester la connexion à ma base depuis mon application .NET. J'ai donc installé le Oracle Data Provider for .NET (depuis ce lien : http://www.oracle.com/technology/sof...txe_index.html). J'ai ajouté la référence Oracle.DataAccess.Client dans mon code, renseigné la connectionString, lancé mon appli. Là, impossible de me connecter. Au moment de l'ouverture de la connexion, j'obtiens le message d'erreur suivant :

    ORA-12154: TNS : l'identificateur de connexion indiqué n'a pas pu être résolu
    Je me suis donc dit que j'avais loupé quelque chose dans l'install d'Oracle, et je suis retourné sur la page d'install pour avoir plus d'infos. C'est ici :
    http://www.oracle.com/technology/sof...tall10202.html

    Dans le point 5, ils parlent de la nécessité de configurer le Service Name local. J'ai suivi les instructions...

    Et là c'est le drame...

    Toujours pas de connexion depuis mon appli.
    Mais pire, j'ai perdu la connexion depuis sqlplus. Enfin, pas complètement, et je ne comprends pas trop comment ça marche.

    Quand je lance sqlplus, il me demande aussitôt mon nom d'utilisateur et mon mot de passe. J'ai donc testé avec les identifiants de connexion de l'utilisateur SYSTEM, et avec ceux de l'utilisateur que j'ai créés. Dans les deux cas, je me connecte bien.

    Mais, et c'est là le hic, quand je suis connecté donc (par exemple via les identifiants SYSTEM/SysPassword), j'essaie la chose suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect MonUser/UserPassword@MaBase;
    Et là je me fais jeter.

    ORA-12154: TNS : l'identificateur de connexion indiqué n'a pas pu être résolu
    Alors que ça fonctionnait avant que je lance l'utilitaire de config sur Service Name...


    Bref, je m'y perds un peu.

    L'installation d'Oracle 10g Express s'est faite (par défaut) dans le répertoire C:\oraclexe.

    Voilà à quoi ressemble le fichier LISTENER.ora correspondant :
    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
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
          (PROGRAM = extproc)
        )
      )
     
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
          (ADDRESS = (PROTOCOL = TCP)(HOST = myHostname)(PORT = 1521))
        )
      )
     
    DEFAULT_SERVICE_LISTENER = (XE)
    Et le tnsnames.ora (XE est la base créée par défaut, je n'ai pas changé le nom pour le moment...) :

    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
    27
    28
    29
    30
    31
     
    XE
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = myHostName)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
        )
      )
     
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
     
    ORACLR_CONNECTION_DATA = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) 
        ) 
        (CONNECT_DATA = 
          (SID = CLRExtProc) 
          (PRESENTATION = RO) 
        ) 
      )
    Ces deux fichiers sont dans : C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN


    Lorsque j'ai installé le provider pour .NET, il m'a créé un autre répertoire Oracle : c:\oracle. Là tout était encore normal, je m'étais connecté à ma base sans problème via sqlplus en utilisant "connect..."

    Mais, à la suite de ma manip de configuration de Service Name, il a ajouté à ce niveau (dans C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN) un fichier tnsnames.ora (il n'y en avait pas avant).
    Le détail de ce fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # tnsnames.ora Network Configuration File: c:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
     
    XE =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = myHostName)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = XE)
        )
      )
    Côté variables d'environnements, les deux répertoires sont renseignés dans PATH :

    c:\oracle\product\10.2.0\client_1\bin;C:\oraclexe\app\oracle\product\10.2.0\server\bin;...
    Dernière précision, quand je lance la commande :

    Voilà ce que j'obtiens :

    Fichiers de paramètres utilisés :
    c:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora

    Adaptateur TNSNAMES utilisé pour la résolution de l'alias
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = ADDRESS = (PROTOCOL = TCP) (HOST = myHostname)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = XE)))
    OK (50ms)
    Bref ça répond, mais en utilisant les paramètres du répertoire c:\oracle (alors que Oracle 10g, et donc sqlplus, a été installé dans c:\oraclexe)...

    Voilà donc.

    Je suppose qu'il y a un conflit quelque part, mais j'avoue ne pas être un crack en base de données, donc je sollicite les conseils des experts.

    J'ai dû faire un truc de travers...Mais quoi ?

    Donc je voudrais d'abord retrouver ma connexion correcte via sqlplus (via le "connect..."). Ensuite je me pencherai sur la question de la connexion à la base via mon appli .NET.

    D'avance merci pour votre aide.

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 306
    Points
    5 306
    Par défaut
    dans la chaine de connexion du provider, as tu essayé :

    myHostName:1521/xe
    en lieu et place du service name (xe)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Points : 41
    Points
    41
    Par défaut
    Merci pour ta réponse vincenzo.

    Comme je ne parvenais toujours pas à retrouver l'état de base, j'ai opté pour une solution radicale : désinstallation/réinstallation d'Oracle 10g Express, idem pour le Oracle .NET Data Provider.

    Suite à cela, j'ai bien retrouvé la connexion via SQLPLUS avec l'instruction CONNECT.

    Par contre, toujours pas de connexion à la base depuis mon appli .NET...
    Mais, en fouillant un peu sur le net, je suis tombé sur ce post : http://forums.asp.net/t/1072410.aspx?PageIndex=3

    La solution pour moi a été de donner les droits Lecture/Exécution à l'utilisateur IUSR_NomMachine sur les dossiers, sous-dossiers et fichiers du répertoire Oracle de l'ODP .NET (c:\oracle dans mon cas). Il faut bien vérifier que les autorisations sont répercutées de répertoires en répertoires, et sur le fichier TNSNAMES.ora de l'ODP .NET au final.

    J'ai aussi ajouté l'instruction indiquée dans le SQLNET.ORA, mais je ne pense pas que ça change quoi que ce soit (si rien n'est indiqué, Oracle va chercher par défaut un fichier qui s'appelle TNSNAMES.ora).

    Ah oui, dernière précision, le fichier TNSNAMES.ora de l'Oracle Home de l'ODP .NET est une copie de celui de l'Oracle Home du client Oracle 10g Express.

    Autorisations, autorisations donc !!!

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    À quoi ressemble votre connection string dès lors ?
    Et comment avez vous configurer les fichier ora, à la main, via interface ? (moi je ne trouve aucun outil)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Débuter avec Oracle 10g Express Edition
    Par sandra83 dans le forum Débuter
    Réponses: 4
    Dernier message: 14/06/2012, 15h48
  2. Débuter avec Oracle 10g Express
    Par vg-matrix dans le forum Débuter
    Réponses: 0
    Dernier message: 15/08/2010, 21h58
  3. [Oracle] accés a oracle 10g express avec php
    Par restart dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 05/01/2010, 07h57
  4. Réponses: 2
    Dernier message: 11/06/2009, 01h44
  5. Probleme de connexion avec Oracle 10g express
    Par leo13 dans le forum JDBC
    Réponses: 1
    Dernier message: 02/03/2008, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo