Ruby On Rails et Oracle #3 : où et comment démarrer le serveur Webrick avec une BD distante
Par Renaud Gaudin le mardi 22 mai 2007, 09:58 - RoR - Lien permanent
Webrick est le serveur Web livré avec InstantRails. La différence avec une base mysql tient esentiellement dans le contenu de database.yml. Le premier essai se fait en configuration avec un serveur Web local Les pages sont donc appelées sur localhost.
Une des prochaines étapes consistera à déporter le serveur Web sur le serveur où est hébergée la base de données afin de simuler avec plus d'acuité une connexion Web.
générer l'application sur le serveur ruby :
rails roracle
modifier database.yml :
development: adapter: oci database: xe username: roor password: roor host: //ex-fusio:1521/xe
créer les tables en base puis générer l'ébauche
ruby script\generate scaffold ma_table_créée_oracle_toutàl'heure
(eh oui, même pas besoin de 3 lignes pour générer modèles, vues et controleurs) puis démarrer le serveur web:
ruby script\server
[ remarque : on peut associer à cette commande une adresse IP ou un nom de machine sur laquelle va se connecter Webrick. On obtient alors comme résultat :
C:\apc_demo\InstantRails-1.4-win\InstantRails\rails_apps\roracle>ruby script\server -b 192.168.1.66 => Booting WEBrick... => Rails application started on http://192.168.1.66:3000 => Ctrl-C to shutdown server; call with --help for options 2007-05-22 00:22:43 INFO WEBrick 1.3.1 2007-05-22 00:22:43 INFO ruby 1.8.5 (2006-08-25) i386-mswin32 2007-05-22 00:22:43 WARN TCPServer Error: Bad file descriptor - bind(2) C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/1.8/webrick/utils.rb:73:in `initialize': Bad file descriptor - bind(2) (Errno::EBADF) from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/1.8/webrick/utils.rb:73:in `new' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/1.8/webrick/utils.rb:73:in `create_listeners' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/1.8/webrick/utils.rb:70:in `each' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/1.8/webrick/utils.rb:70:in `create_listeners' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/1.8/webrick/server.rb:75:in `listen' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/1.8/webrick/server.rb:63:in `initialize' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/1.8/webrick/httpserver.rb:24:in `initialize' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:59:in `new' ... 6 levels... from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from C:/apc_demo/InstantRails-1.4-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require' from script/server:3
Ce qui est somme toute logique puisque sur ex-fusio ruby n'est pas encore installé. Nous y mettrons les tests prochainement. Notons dans l'immédiat que cette erreur peut correspondre à l'absence de l'application sur le serveur où l'on essaye de la démarrer.
..fin de la remarque]
Le serveur se démarre donc avec ruby script\server
C:\apc_demo\InstantRails-1.4-win\InstantRails\rails_apps\roracle>ruby script\server => Booting WEBrick... => Rails application started on http://0.0.0.0:3000 => Ctrl-C to shutdown server; call with --help for options 2007-05-22 10:12:21 INFO WEBrick 1.3.1 2007-05-22 10:12:21 INFO ruby 1.8.5 (2006-08-25) i386-mswin32 2007-05-22 10:12:23 INFO WEBrick::HTTPServer#start: pid=3040 port=3000
et ceci y compris en ne nommant la connection que host: xe et non host: //ex-fusio:1521/xe dans database.yml
ceci nous amène au paramétrage NLS de cette base...
Billets en rapport
- ruby on rails et oracle : les commandes rake #1
- Ruby On Rails et Oracle #4.1 : la gestion du NLS est un paramètre de application.rb
- oracle, ruby on rails et le nls : je crois que j'ai trouvé !
- Ruby On Rails et Oracle #4.1 : la gestion du NLS ne semble pas satisfaisante
- Ruby On Rails et Oracle #4 : de l'échafaudage à l'échafaud?