Problems connecting Rails to Oracle.

Hi
I'm hoping someone can assist me with a problem I'm having connecting to
a local Oracle database:

Running Windows XP Pro. I have Oracle 816 and Oracle 92 clients as well
as Oracle 10g Express DB.

Downloaded Bitnami and OCI8 adapter. I have no problems to connect
Oracle through SQLplus.

This is my database.yml configuration:
development:
  adapter: oracle
  database: //localhost:1521/XE
  username: hello
  password: goodbye

The thing is when I try to run scaffolding with rails, it doesn’t work,
and this is that I get from rails console executed via Bitnami
(C:\Program Files\BitNami RubyStack\use_ruby.bat)

** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:231:in
`establish_connection': Please insta
ll the oracle adapter: `gem install activerecord-oracle-adapter` (no
such file to load -- active_record/connection_adapters/oracle_adapter)
(RuntimeError)
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:215:in
`establish_connection'
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:208:in
`establish_connection'
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:234:in
`initialize_database'
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:94:in
`process'
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:49:in
`send'
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:49:in
`run'
        from
C:/TEMP/RubyPruebas/CodigoRuby/comics_catalog/config/environment.rb:13
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
         ... 25 levels...
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
        from C:/Program Files/BitNami
RubyStack/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
        from script/server:3

In the session path appears at least three path to Oracle homes:
C:\XXXXXX\oracle10gExpress\app\oracle\product\10.2.0\server\bin;
C:\XXXXXX\ora\e.9.2.0.1.0\bin;
C:\XXXXXX\ORA\E.8.1.6.0.0\bin;

Last but not least, I can connect the Oracle 10g instance that appears
in database.yml through SQLplus via the Ruby console.

I'd appreciate any help, any idea or any suggestion.
Thanks.
Carlos.

I think it's just the adapter value. I have this

development:
  adapter: oci
  host: myoraclehost
  username: scott
  password: tiger

HTH,

Mike

The Oracle adapter isn't contained by Rails 2.0 by default. So you
have to install it manually. Notice the error message:

Please install the oracle adapter: `gem install activerecord-oracle-
adapter`

Your problem should be solved after the installation of oracle
adapter.

"oci" and "oracle" are both supported for the Oracle adapter in the
configuration.

Liming Lian wrote:

"oci" and "oracle" are both supported for the Oracle adapter in the
configuration.

Liming,

I thougt the number of oracle clients or oci8 versions (one for every
client) was confusing rails. Downloaded and installed
ruby-oci8-1.0.0-mswin32.rb, I supposed that was sufficient runing rails
to connect oracle.

Many thanks for your helping. I'll follow your advice and tell you the
final of the story. If any.

Carlos.

Hi,

This thread [http://www.ruby-forum.com/topic/135231#new] should solve
your problem

Jesse Hu wrote:

Hi,

This thread [http://www.ruby-forum.com/topic/135231#new] should solve
your problem

`establish_connection'
RubyStack/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:49:in
       from C:/Program Files/BitNami
C:\XXXXXX\oracle10gExpress\app\oracle\product\10.2.0\server\bin;
Posted via http://www.ruby-forum.com/.

>

--
Best regards,
Jesse

Thank you Jesse, your link got the solution to solve my problem, but I
am afraid I got a new problem, perhaps simplest than first. When I try
to run scaffolding again I receive the next response from the ruby box.

C:\Temp\my_app>ruby script/generate scaffold myApp
C:/Temp/ruby186-25/ruby/lib/ruby/1.8/yaml.rb:133:in `load': syntax error
on
line 18, col 2: ` host: 127.0.0.1\XE' (ArgumentError)

The file database.yml shows next configuration:
development:
  adapter: oci
# database: XE
  username: hr
  password:hr
  host: 127.0.0.1\XE

I'v tried diferent combinations for

          adapter: oracle and oci
          database: XE and localhost\XE
          host: XE and localhost\XE and 127.0.0.1\XE

but always get the same error.

Could you help me?
Thanks in advance, Jesse.

Regards.
Carlos.

Hi Carlos,

Maybe there is a typo in “127.0.0.1\XE”?
Please use “127.0.0.1/XE” to specify the database. The config/database.yml file should look like :

development:
adapter: oracle or oci
database: localhost/XE or 127.0.0.1/XE
username: hr
password: hr

Here is an article about how to connect to Oracle.