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

Ruby on Rails Discussion :

se connecter à Oracle 10g Express Edition


Sujet :

Ruby on Rails

  1. #1
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut se connecter à Oracle 10g Express Edition
    Je n'arrive pas à me connecter à la DB Oracle 10g Express Edition que j'ai installé sur un PC sous Windows XP.
    En fait je ne trouve pas comment définir la connexion dans le fichier database.yml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    development:
      adapter: oracle
      database: incentives
      username: SYSTEM
      password: admin
    Comme ça j'obtiens toujours une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rake aborted!
    ORA-12154: TNS : l'identificateur de connexion indiqué n'a pas pu être résolu
    Sur le site d'Oracle on ne rentre pas dans les détails, juste comme je l'ai cité plus haut. Faut-il modifier quekque chose dans le fichier tnsnames.ora?
    Voici ce qui est là-dedans ("C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.ora"):
    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) 
        ) 
      )

  2. #2
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut
    Est-qu'il faut modifier ce fichier .ora ou pas ? J'ai essayé de le modifier:
    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 = localhost)(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) 
        ) 
      )
    et puis modifier database.yml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    development:
      adapter: oracle
      encoding: utf8
      database: localhost:1521/xe.incentives,
     
      username: SYSTEM
      password: admin
    Mais ça n'a rien donné, l'erreur persiste toujours:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    rake aborted!
    ORA-12514: TNS : le processus d'écoute ne connaît pas actuellement le service demandé dans le descripteur de connexion
    rake aborted!
    Invalid escape character syntax: /C:\Documents and Settings\my_user_name\My Documents\rails projects\incentives\Rakefile/
    c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2058:in `standard_exception_handling': Invalid escape character syntax: /C:\Documents and Settings\my_user_name\My Documents\rails projects\incentives\Rakefile/ (RegexpError)
            from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2058:in `find'
            from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2058:in `each'
            from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2058:in `find'
            from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2058:in `standard_exception_handling'
            from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1974:in `run'
            from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake:31
            from C:/ruby/bin/rake:19:in `load'
            from C:/ruby/bin/rake:19
    Pourquoi ça m..de ainsi et presque toujuors avec Oracle DBs, il est impossible de trouver des explications, rien.

  3. #3
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut
    J'ai parvenu à me connecter. Voici les démarches à suivre pour se connecter à Oracle XE DB installée en local sur Windows XP:
    1. Installer OCI8 gem:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gem install ruby-oci8
    2. Installer oracle enhanced adapter (j'ai désinstallé oracle adapter 'normal' que j'utilisais avant)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gem install activerecord-oracle_enhanced-adapter
    Pour ce qui veulent tester oracle adapter 'normal' il faut faire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org
    3. Dans le database.yml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    development:
      adapter: oracle_enhanced
      encoding: utf8
      host: localhost:1521/nom_de_votre_db
      username: username
      password: userpassword
    Par défaut, username dans Oracle XE est SYSTEM, le mot de passe - on le rentre au moment de l'installation. Après l'installation on peut modifier tout cela via 'Démarrer-Oracle Database 10g Express Edition-Go to Database Home page'. Numéro de port par défaut est 1521. Et voilà.
    Sauf que je n'ai jamais compris comment configurer le fichier tnsnames.ora pour créer un nouveau schéma. Pour l'instant il y a plein d'autres tables crées par Oracle XE après l'installation. Donc les tables que je crée via mes migrations sont mélangées avec celles crées par défaut. Si quelqu'un a une idée comment y remédier je serais ravi.

  4. #4
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut
    J'ai trouvé comment créer un nouveau schéma dans Oracle XE.

    1.Alllez dans 'Démarrer-Oracle Database 10g XE - Go to database home page'.
    2.Si vous n'êtes loggé comme user system SYSTEM (par défaut), il faut se logger.
    3. Cliquer sur l'icône 'Administration-Database users-Create user'.
    4. Saisissez username et password qui vous conviennent, en indiquant 'Account status comme <Unlocked> et vérifier bien que les options CONNECT et RESOURCE dans User priviledges soient cochées.
    5.Délogger-vous et logger-vous avec le nom d'utilisateur et mot de passe que vous venez de créer.
    6. Cliquez sur l'icône 'Application Builder-> Create Application'
    7.Donnez un nom à l'application que vous voulez créer. Il va servir comme nom pour votre nouvelle DB. (En Oracle c'est différent par rapport aux autres DBs).
    8.Choisissez l'option de radio button 'Create application from scratch' et cliquez sur NEXT.
    9.Laissez tous les paramètres sans les modifier (à vérifier que dans la partie 'Add page' l'option 'Blank' soit sélectionnée) et cliquer sur 'Add page'.
    10.Sur la même page de wizzard vous verrez apparaître la page que vous venez de créer.
    11.Cliquez sur NEXT.
    12.Choisissez l'option 'No tabs' et cliquez sur NEXT.
    13.Dans la partie 'Copy Shared Components from Another Application:' choisissez 'No' et cliquez sur NEXT.
    14.Dans 'Authentication Scheme' choisisssez 'Database account', ainsi que la langue (Language) et ses préférences ('User Language Preference Derived From').Cliquez sur NEXT.
    15.Choisissez le thème à votre goût et cliquez sur NEXT.
    16.C'est la dernière page de wizzard qui résume vos paramètres. Si tout vous convient cliquez sur CREATE.
    17. Si tout est correct vous arriverez à la page de confirmation de création: 'Application created successfully'.

    C'est tout. Dans votre fichier database.yml de l'application Rails il ne restera qu'à définir votre DB comm ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    adapter: oracle_enhanced
      encoding: utf8
      host: localhost:1521/nom_de_la_DB_que_vous_venez_de_creer_via_oracle
      username: user_que_vous_venez_de_creer_via_oracle
      password: userpassword_que_vous_venez_de_creer_via_oracle
    J'espère que cela aidera à ceux qui voudrions utiliser Oracle XE sur un PC sous Windows XP en local.

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

Discussions similaires

  1. Changement de port d'écoute pour Oracle 10g Express Edition
    Par A D R I A N O dans le forum Installation
    Réponses: 2
    Dernier message: 22/03/2011, 16h07
  2. oracle 10g express edition,pl/sql et forms .
    Par isoman dans le forum SQL
    Réponses: 3
    Dernier message: 13/03/2008, 17h10
  3. Connexion Oracle 10g Express Edition
    Par Virgile59 dans le forum Oracle
    Réponses: 1
    Dernier message: 03/01/2007, 16h55
  4. Oracle 10g (Express Edition) ...
    Par avaacn dans le forum Oracle
    Réponses: 9
    Dernier message: 04/04/2006, 17h09
  5. Réponses: 1
    Dernier message: 22/03/2006, 08h24

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