Es gibt Tage an denen sollte man besser nicht das Haus verlassen. Der gestrige war für mich einer dieser Tage. Egal was man auch anfasst, es wird nichts.
Nehmen wir z.B. den Versuch heute morgen mit einem Ruby-Skript auf eine MSSQL Datenbank zuzugreifen. Aus unerklärlichen Gründen habe ich bestimmt ne Stunde im Netz nach einem Ansatz bzw. einer Lösung gesucht, aber nichts gefunden. Nach Rückfrage im hervorragenden *schleim* RubyForum würde ich sofort mit einem entsprechenden Lösungsansatz konfrontiert.
Aber hier soll es nicht um die Reaktionszeit des Forums gehen, auch wenn diese extrem kurz ist.
Ich möchte mein neu erlangtes Wissen teilen und deshalb zeige ich euch, wie man auf einer Windows-Dose mit Ruby auf eine MSSQL DB zugreifen kann.
Möglich ist das Ganze mit Hilfe von dbi und ODBC. Als erstes muss man unter Windows eine neue ODBC-Datenquelle einrichten. Das ganze läuft wie folgt ab:
Damit sind die Vorbereitungen abgeschlossen. Nun kommen wir zum Skript.
require 'dbi' # Datenquelle angeben , User angeben dbh = DBI.connect('dbi:odbc:Datenquellenname','User ') #Die SQL-Abfrage eingeben sth = dbh.prepare( 'SELECT * FROM Test' ) #Abfrage ausführen sth.execute sth.each do |row| row.each_with_name do |val, name| #Spaltenname und Wert werden ausgegeben puts name + val.to_s end end #Verbindung trennen dbh.disconnect
Zuerst wird dbi benötigt und eingebunden. Dann natürlich die Datenquelle sowie bei Bedarf den User und Passwort angeben. Und nun können wir schon beliebige SQL-Anweisungen abschießen. Wie das Ergebnis dann weiterverarbeitet wird, bleibt jedem selber überlassen.
Ich hoffe aber hiermit einigen Leute die vor einem ähnlichen, möglicherweise recht simpel zu lösenden Problem stehen, geholfen zu haben.
Weitere Infos:
Kommentar schreiben