当使用freetds和tinytds gem查询MSSQL 2008数据库时,语法如下:
db = TinyTds::Client.new(:username => ...)
select = db.execute("EXEC dbo.__stored_procedure__")
db.close
然后,此行导致ruby在Windows上崩溃:
select.each {|x| p x}
奇怪的是,查询简单时选择:
select = db.execute("SELECT field FROM table")
select.each
不会崩溃-也不执行任何循环它也不会崩溃webrick或rails控制台。
但是当我将代码更改为:
db = TinyTds::Client.new(:username => ...)
select = []
db.execute("EXEC dbo.__stored_procedure__").each { |x|
select << x
}
db.close
然后,它就像一个魅力(即使选择)。
不要在OS上比Windows更好地工作...
最佳答案
您的期望不正确。我建议您在这里阅读TinyTDS的用法。
https://github.com/rails-sqlserver/tiny_tds#tinytdsclient-usage
关于ruby-on-rails - Rails-Tinytds崩溃的 ruby ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12400834/