Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
db class and connection problems
Luis Moran
1/19/2009 4:14:00 PM
Hello,
I am new in ruby and have a little problem.... I have the following code
class Grid
attr_accessor :host
...
attr_accessor :connection
def initialize (host, user, passwd, dbname)
@host = host
@user = ...
end
def connect
@connection = Mysql.real_connect(@host, @user, @passwd, @dbname)
if @connection then
puts "connected"
end
end
def query
res = @connection.query("select * from table")
return res
end
end
and now from a script
require "the clash file"
db = Grid.new("localhost","user","password","db")
db.connect
db.query
and I get an error cause the database seem to be closed... or which is
the same @connection is null? I only can make it work if I open and
close the database from inside the query method, but this query is
called more than 4000 times in the script and I reach the limit of
connections of my system's TCP/IP
Anyone could help me? I don't understand why I can share @host, @user
and the other attributes among the methods but @connection seems to be
lost.
thanks in advance.
--
Posted via
http://www.ruby-...
.
1 Answer
Brian Candler
1/19/2009 8:55:00 PM
0
Luis Moran wrote:
...
> and I get an error
Show the *exact* error - I mean copy-paste it, including the backtrace.
Cross-reference backtrace entries which refer to your own code to the
actual lines of your source.
It would also be useful if you could give a complete small program which
replicates the problem, because it could just be a typo. At first glance
what you've written looks fine, but it's not runnable - e.g. there's no
require 'mysql-ruby' or require 'ruby-mysql'. Also, it's worth
mentioning which mysql library you're using, and what version.
> cause the database seem to be closed... or which is
> the same @connection is null?
Those are two very different things. One says that @connection points to
some object, but the object says the database connection is closed (it
may have been closed due to some sort of error, for example). The other
says @connection points to nothing at all (well, technically an instance
of the 'nil' object), which could only happen if your own code set
@connection = nil.
> I only can make it work if I open and
> close the database from inside the query method, but this query is
> called more than 4000 times in the script and I reach the limit of
> connections of my system's TCP/IP
If that's true, then clearly you're not closing each connection after
using it.
Regards,
Brian.
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
db class and connection problems
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password