2012-03-27 29 views
0

我有一個使用TinyTDS從SQL Server 2008獲取結果集的問題。我的SQL服務器駐留在本地計算機上,而且我在Windows 7計算機上。在database.yml文件TinyTDS連接問題和從SQL Server 2008返回

我的連接設置是這樣的..

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。我猜我缺少一些設置。或者必須將其添加到某處。

誰能幫助我,或有什麼建議,我做錯了這裏..

+0

好像你正在做的一切正確。你確定目標表存在於數據庫中嗎?返回的結果是Enumerable,'result.first'應該是一個以字段作爲鍵的散列。對於客戶端方法運行'client.methods',但據我所知'execute'主要用於運行SQL語句。 – 2012-03-27 02:43:28

+0

@Simon,對於響應隊友,表格確實存在於數據庫中。但我不知道還有什麼我需要做.. – user1126946 2012-03-27 05:12:37

+0

有時這是我得到 「#」 – user1126946 2012-03-27 05:18:15

回答

0

檢查出TinyTDS自述,如果你要使用低級別的連接模式VS適配器,您需要使用客戶端/結果對象。在這種情況下,請執行data = client.execute("select * from tablename").each。請注意,我正在調用結果對象上的每個方法來獲取數據。

0

對於一個成功的工作TinyTDS你應該叫

TinyTds::Client.new(all other params, :tds_version => 100) 

給予tds_version參數是很重要的。