【发布时间】:2016-08-22 16:37:00
【问题描述】:
我在使用 TinyTDS 从 SQL Server 2008 取回结果集时遇到问题。我的 SQL 服务器驻留在我的本地机器上,而我在 Windows 7 机器上。
我在database.yml文件中的连接设置是这样的..
development:
adapter: sqlserver
host: localhost
database: database_name
username: username
password: password
timeout: 5000
client = TinyTds::Client.new(use the above settings)
puts client.active?
result = client.execute("select * from tablename")
puts "#{result}"
我打印时得到的结果是
true
-1
我也看不到所有可用于 TinyTds::Client 的方法。我猜我缺少一些设置。或者必须在某处添加它。
谁能帮助我或建议我在这里做错了什么..
【问题讨论】:
-
看起来你做的一切都是正确的。您确定数据库中存在目标表吗?返回的结果是 Enumerable,
result.first应该是一个以字段为键的散列。对于客户端方法运行client.methods,但据我所知execute是主要用于运行SQL 语句。 -
@Simon,感谢您的回复,该表确实存在于数据库中。但我不确定我还需要做什么..
-
有时这就是我得到的“#<:result:0x5833908>”
-
"#<:result:0x5833908>" 似乎你得到了你的结果。您可以使用
awesome_print库将其打印出来吗,如下所示:ap result.first而不是puts "#{result}"。此外,-1似乎是错误代码。你能试着打印出result.first.[:Error](大写E)和result.first[:Message](大写M)吗?干杯 -
我已经完成了所有这一切,tiny_tds 似乎无法正常工作,并抛出 first[:Error] 和 first[:Message] 异常......我已经放弃了,不幸的是我没有是时候调试整个 tiny_tds 产品或我的设置的一些核心问题,并使用明显的 ActiveRecord 和 ruby-odbc。但是从那以后安装和删除 tiny_tds 现在我什至无法使用 ruby-odbc 配置 Activerecord 看到我的其他请求困境