Seite 1 von 1
Hilfe! SQL Server 2000 und QT funzt nicht!!
Verfasst: 11. Juli 2005 14:28
von Sigiator
Hi Freunde...
Ich habe folgendes Problem:
Ich möchte mit QT auf eine MS Server 2000 Datenbank zugreifen...
Nur krieg ich leider nicht mal ne Verbindung zur Datenbank...
Der laut Hilfe für SQL Server zu verwendende QTDS Treiber wird anscheinend gar nicht gefunden...
Hier mein Code:
// Verbindung zur DB herstellen
QSqlDatabase db = QSqlDatabase::addDatabase("QTDS");
db.setHostName("MYPC");
db.setDatabaseName("testdb");
db.setUserName("user");
db.setPassword("12345");
bool ok = db.open();
if(ok)
QMessageBox::information(0, "Conn", "worked");
else
QMessageBox::warning(0, "Conn", "failed");
QSqlQuery query;
int numRows;
ok = query.exec("SELECT * FROM testdb.dbo.prod");
...
Bitte helft mir weiter...
mfg
Sigi
Verfasst: 11. Juli 2005 17:18
von FlorianBecker
Welche Qt Version benutzt du?
Free oder Commercial?
Bei Free ist der Treiber so wie so nicht dabei.
Verfasst: 11. Juli 2005 19:48
von Sigiator
Ich benutze Qt 4.0.0...
Ich denke nicht, dass es ne Free Version ist... Hab nen Registry Key von meinem Chef etc...
Stimmt denn mein Coding?
Muss ich außer der Qt Installation noch was machen?
Vielleicht irgendwelche Pfade angeben etc...
mfg
sigi
Verfasst: 11. Juli 2005 19:56
von Sigiator
Noch was anderes...
Sollten die Treiber nicht bei SQL oder sonst wo dabei sein?
Standard ODBC Treiber etc...
Wenn ich die Funktion isAvailable für ODBC aufrufe bekomme ich zwar TRUE... beim Öffnen der Verbindung mit ODBC dann aber doch wieder False...
Was mach ich falsch?
mfg
Verfasst: 11. Juli 2005 19:57
von FlorianBecker
Die Plugins müssen in einem Plugin Ordner liegen.
Nein, damit hast du keine Free Version, sondern die commercial. Mit Free meine ich Open Source Edition.
Werden denn andere Treiber geladen? Hast du mal eine SQLite Verbindung versucht, oder eine MySQL Verbindung?
Soweit sieht es sonst einmal ganz in Ordnung aus.
Verfasst: 11. Juli 2005 20:03
von FlorianBecker
Das ist so pauschal immer nicht so ganz einfach.
Hast du schonmal Datenbanken mit Qt gemacht?
Ist denn das Plugin compiliert?
$QTDIR/plugins/sqldrivers/*
Was ist in dem Ordner?
Verfasst: 12. Juli 2005 07:00
von Sigiator
in dem ordner befinden sich jede menge libs und dll files.
auf den ersten blick sind es die treiber, die ich bei isAvailable auch bekomme (qsqlodbc, qsqlite, qsqlmysql...)
qtds fehlt übrigens...
compiliert hab ich noch nichts - nur qt mit dem install prog installiert...
ich hab schon alle treiber durchprobiert - einzig qsqlite funktioniert...
da glaub ich aber auch nur, weil qsqlite ja ne db im memory erzeugt wenn keine gefunden wird (oder so was ähnliches - steht in der hilfe)
wie komm ich weiter?
mfg
sigi
Verfasst: 12. Juli 2005 07:59
von FlorianBecker
Den qtds Treiber bauen!!!!
Dazu gibt es eine Beschreibung im Handbuch.
Verfasst: 12. Juli 2005 08:49
von Sigiator
ich denke du meinst:
configure -qt-sql-<tds>...
dieser befehl geht leider nicht... bekomm immer "Falsche syntax"
muss ichd die spitzen klammern weglassen?
dann kommt aber immer wieder die ganze configure prozedur...
help?
Verfasst: 12. Juli 2005 10:20
von Sigiator
Gibts bei der Qt 4.0.0 Commercial überhaupt nen QTDS Support?
Ich hab grad mit jemandem gesprochen, dass der nicht Teil der Compilation oder ähnliches wär...
Lediglich ODBC wär ohne größeren Aufwand möglich...
stimmt das, oder nicht?
mfg
sigi
Verfasst: 12. Juli 2005 10:47
von FlorianBecker
Keine Ahnung, ich arbeite nicht mit MSSQL. Aber MySQL, Postgres, ODBC und SQLite funktionieren bei mit hervorragend.
Und ich bin ich mir ziemlich sicher, dass das geht.
Einfach mal die Mailingarchive von Trolltech durchforsten und Dokumentation lesen.