jqm
2008-07-24 09:24:13 UTC
Hello Lords of jRuby,
I want to submit something nice :
I'm currently trying to use MS SQL Server 2005 and rails 2.1 to play
together nicely (using jRuby 1.1.3 and the lastest sqljdbc.jar). So far I've
been quite confident I wouldn't have any problem until I hit those 'stored
procedures'.
Imagine this SP which basically gets a int as parameter an returns the
double of its value (basic, right?).
---------------------
CREATE PROCEDURE [dbo].[sp_test]
@myParam int
AS
select @myParam*2;
---------------------
This works perfectly in a SQL Management Studio : Exec sp_test 2; ==> gives
4.. Great!
Let's move to Rails now...in a console (jruby script/console) in my actual
project.
doing this : puts ActiveRecord.connection.select_value("Use MyDevDB; Exec
sp_test 2;")
AR returns an error: ActiveRecord::StatementInvalid:
ActiveRecord::ActiveRecordError: A result set was generated for update.
I tried connection.execute, connect.select_all but they returns same
error...
but what's the deal here? I'm not (at any moment) trying to open a recordset
for any update, it's a dawn simple Stored Procedure giving me back a simple
integer!
I've been looking on all SQL forums, on MSDN web site, etc. it seems this
error message comes from the SQL Server itself , but i guess that at any
moment AR is not giving right infos to SQL who believes I try to open this
recordset for update, right?
Anyone with a solution there?
Thanks!
Fred.
EDIT :
I just tried same situation using ruby...
this works with
"ActiveRecord::Base.connection.instance_variable_get("@connection")["AutoCommit"]
= false"
so wtf isn't that correctly working with jRuby and sqljdbc.jar??? (rem :
this autocommit is not available with this jdbc adapter)
I want to submit something nice :
I'm currently trying to use MS SQL Server 2005 and rails 2.1 to play
together nicely (using jRuby 1.1.3 and the lastest sqljdbc.jar). So far I've
been quite confident I wouldn't have any problem until I hit those 'stored
procedures'.
Imagine this SP which basically gets a int as parameter an returns the
double of its value (basic, right?).
---------------------
CREATE PROCEDURE [dbo].[sp_test]
@myParam int
AS
select @myParam*2;
---------------------
This works perfectly in a SQL Management Studio : Exec sp_test 2; ==> gives
4.. Great!
Let's move to Rails now...in a console (jruby script/console) in my actual
project.
doing this : puts ActiveRecord.connection.select_value("Use MyDevDB; Exec
sp_test 2;")
AR returns an error: ActiveRecord::StatementInvalid:
ActiveRecord::ActiveRecordError: A result set was generated for update.
I tried connection.execute, connect.select_all but they returns same
error...
but what's the deal here? I'm not (at any moment) trying to open a recordset
for any update, it's a dawn simple Stored Procedure giving me back a simple
integer!
I've been looking on all SQL forums, on MSDN web site, etc. it seems this
error message comes from the SQL Server itself , but i guess that at any
moment AR is not giving right infos to SQL who believes I try to open this
recordset for update, right?
Anyone with a solution there?
Thanks!
Fred.
EDIT :
I just tried same situation using ruby...
this works with
"ActiveRecord::Base.connection.instance_variable_get("@connection")["AutoCommit"]
= false"
so wtf isn't that correctly working with jRuby and sqljdbc.jar??? (rem :
this autocommit is not available with this jdbc adapter)
--
View this message in context: http://www.nabble.com/Stored-Procedure-problem-tp18628248p18628248.html
Sent from the JRuby - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
View this message in context: http://www.nabble.com/Stored-Procedure-problem-tp18628248p18628248.html
Sent from the JRuby - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email