Ich habe mit unixODBC und freeTDS eine Verbindung auf einen MSSQL-Server hergestelt und diese erfolgreich getestet (sowohl isql als auch DataManager). Wenn ich nun aber über QT darauf zugreiffen will tritt folgender Fehler auf:
Ich kann zwar mit db.open() verbinden, danach aber keinen query ausführen, respektive liefert der immer eine size() von -1. Ich habe dann versucht mit db.tables(QSql::Tables) die Tabellen zu verifizieren. Der Befehl liefert aber je vorhandene Tabelle folgende Fehlermeldung:
Offenbar scheint niemand sonst das Problem zu haben oder eine Lösung zu kennen. Ich habe mir ein Workaround überlegt:
Ist es möglich, von Qt heraus eine Reihe von Befehlen in der Konsole auszuführen? Dann könnte ich die Abfrage über isql ausführen.
Ich habe gesehen, dass man mit QProcess auf externe Programme zugreifen kann, weis aber nicht, ob das so möglich wäre.
Zum einen würde ich mir mal die Logfiles des Datenbank-Servers ansehen, was er überhaupt an Kommandos bekommt. Dann die Logfiles der ODBC-Zwischenschicht. Und zum Schluß kann man noch den Task-Tracker bemühen.