using isql from rails app

Hi,

Im new to rails and was wondering if someone can help me. I have a sybase database on a remote machine.

I want to get information from that db into my rails app using isql.

I can do it from the shell, but how do i do it from a rails app?

thanks in advance

Hmmm, I don't know anything about isql, but two possibilities stand out.

If this is a once-in-a-while administrative task, you could create a rake task (I really like this tutorial for that: Using the Rake Build Language)

On the other hand, you could create a script in lib and bootstrap rails to it. The template code I've been using to get the rails environment ready is:

#!/usr/bin/env ruby

# Ensure the environment was specified if ARGV.length != 1   puts "usage: ruby file_name.rb <rails_env>"   exit 1 end

$LOAD_PATH << File.expand_path(File.dirname(__FILE__))

ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV']

require File.dirname(__FILE__) + '/../config/boot' require "#{RAILS_ROOT}/config/environment"

def connect(environment)   conf = YAML::load(File.open(File.dirname(__FILE__) + '/../config/ database.yml'))   ActiveRecord::Base.establish_connection(conf[environment]) end

# Open ActiveRecord connection connect(ARGV.first)

At this point, you've got Rails running. You'll want to have included any libraries necessary to use isql. Then, you're just writing ruby code between isql and rails.

Good luck.

David Richards

Oh, btw, I forgot to mention. If you take the second approach--a lib/ file_name.rb approach to this, you'd just dump that in your crontab and call it regularly.

If you needed to just access your information at runtime through rails, you'd put something in environment.rb to tell rails how to access isql, but then you'd be on your own for actually doing something with that connection.

Hope this helps,

David Richards