MSSQL DB connection, multiplatform, NextRecordSet

J

Joseph Still

I'm trying to find a way to use ruby to connect to a MS SQL database.

I need it to be as simple I can to run on both windows and linux
systems. So if they require different things to make them work, I want
to have the smallest difference in code that I can.

I also need to support stored procedures returning multiple record sets
so something like .NextRecordSet needs to be supported.

I can get a connection using: require 'dbi' and ODBC BUT ODBC doesn't
appear to support multiple record sets.
I've been attempting to get ADO to fall in line but, my understanding,
is that it's not very happy with linux.

So in summary:
-MSSQL DB connection
-Must be usable across Linux and Windows with minimal changes
-Must allow for multiple record sets


Does anyone have suggestions for me?

Thanks in advance.
~Makkur
 
C

Choi, Junegunn

2009/2/21 Joseph Still said:
So in summary:
-MSSQL DB connection
-Must be usable across Linux and Windows with minimal changes
-Must allow for multiple record sets

Hi, If it's ok to use JRuby, you can try JDBC with JRuby. I have no
experience in MSSQL and ADO, but i'm sure MSSQL provides JDBC driver
and JDBC is inherently compatible across different platforms. And if I
understood your point correctly, it supports multiple record sets as
well. The following JRuby code works with my PostgreSQL database.

stmt.execute 'select * from test_a; select * from test_b'
rset = stmt.get_result_set
while rset.next
puts rset.get_long(1)
end

stmt.get_more_results
rset = stmt.get_result_set
while rset.next
puts rset.get_long(1)
end
 
J

Joseph Still

Hi, If it's ok to use JRuby, you can try JDBC with JRuby. I have no
experience in MSSQL and ADO, but i'm sure MSSQL provides JDBC driver
and JDBC is inherently compatible across different platforms. And if I
understood your point correctly, it supports multiple record sets as
well. The following JRuby code works with my PostgreSQL database.

stmt.execute 'select * from test_a; select * from test_b'
rset = stmt.get_result_set
while rset.next
puts rset.get_long(1)
end

stmt.get_more_results
rset = stmt.get_result_set
while rset.next
puts rset.get_long(1)
end

I'm not familiar with JRuby.
I'm fairly open to options so I'll take a look at it.
Just that it supports multiple record sets is a step forward.

Thanks for the heads up.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top