2012-03-27 4 views
0

Ich habe ein Problem mit dem Abrufen eines Ergebnissatzes von SQL Server 2008 mit TinyTDS. Mein SQL Server befindet sich auf meinem lokalen Rechner und ich bin auf einem Windows 7 Rechner. Ich bin alle Methoden nicht in der LageTinyTDS-Verbindungsprobleme und Rückgabe von SQL Server 2008

meine Verbindungseinstellungen in der database.yml Datei ist dies wie ..

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}" 

das Ergebnis, das ich wenn ich drucken

ist
true 
    -1 

auch sehen das ist für den TinyTds :: Client verfügbar. Ich vermute, ich vermisse etwas Setup. oder muss es irgendwo hinzufügen.

Kann mir jemand helfen oder vorschlagen, was ich hier falsch mache ..

+0

Scheint wie Sie alles richtig machen. Sind Sie sicher, dass die Zieltabelle in der Datenbank vorhanden ist? Zurückgegebenes Ergebnis ist Enumerable, 'result.first' sollte ein Hash mit Feldern als Schlüssel sein. Für Client-Methoden führen Sie 'client.methods' aus, aber, soweit ich weiß, wird' execute' zum Ausführen von SQL-Anweisungen verwendet. –

+0

@Simon, danke für die Antwort Kumpel, die Tabelle existiert in der Datenbank. aber ich bin mir nicht sicher, was ich noch tun muss .. – user1126946

+0

und manchmal ist das, was ich bekomme "# " – user1126946

Antwort

0

Überprüfen Sie die Readme für TinyTDS aus, wenn Sie den niedrigen Pegel Verbindungsmodus gegen den Adapter verwenden möchten, müssen Sie den Client verwenden,/Ergebnisobjekt richtig. In diesem Fall tun Sie data = client.execute("select * from tablename").each. Beachten Sie, dass ich die einzelnen Methoden für das Ergebnisobjekt aufrufe, um die Daten zurückzuerhalten.

0

Für eine erfolgreiche Arbeit TinyTDS sollten Sie

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

nennen Es ist wichtig, den tds_version Parameter zu geben.