Firebird/Interbase OLEDB oder ODBC Treiber gesucht
-
Das kann schon sein, dass die Suche unter "Firebird" nicht zum Erfolg führt.
ODBC-Treiber für Interbase oder allgemeine ODBC(-SQL)-Treiber gibt es genug. Die funktionieren auch hervoragend mit Firebird.
-
-
-
hans1 schrieb:
Das sieht interessant aus, danke!
Hans1 schrieb:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_60_odbc
Mit dem hab ich schon jede Menge rumexperimentiert. Nutze den momentan per ADO via ODBC. Der funktioniert noch am besten, hat aber auch so seine Macken - Verursacht z.B. eine Access Violation wenn man bei der Anmeldung falschen User/Passwort übergibt Oder reagiert empfindlich auf berechnete Spalten im Recordset - Die sind zwar problemlos lesbar aber verursachen dabei am laufenden Band Exceptions, was mir irgendwie nicht geheuer ist
-
Dann fang die Exceptions doch ab?
Achja, was sagst du zu SOCI? Doch nicht dein Fall?
-
Artchi schrieb:
Dann fang die Exceptions doch ab?
Ich versuche alle Exceptions abzufangen was normalerweise auch klappt - z.B. bei allen ADO Standardfehlern die so auftreten können, einige kriege ich seltsamerweise aber nicht, wie z.B. das Ding mit den berechneten Spalten. Vielleicht weil sie in der kernel32.dll ausgelöst wird? Der catch-Block greift hier jedenfalls nicht:
Nicht abgefangene Ausnahme in FBTest.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
Achja, was sagst du zu SOCI? Doch nicht dein Fall?
Habs noch nicht live ausprobiert, denk mal ich werd auch erst am Wochenende dazu kommen
-
Die Fehlermeldung kommt mir merkwürdig vor. Bist Du sicher, dass sich im Code oder in der Konfiguration kein Fehler eingeschlichen hat ?
-
Ja, tritt reproduzierbar z.B. beim Selektieren von berechneten Spalten auf. Liegt vermutlich am Spalten-Alias und wie der Treiber damit bei berechneten Feldern umgeht.
Dies bringt den erwähnten Fehler (Ergebnis ist trotzdem lesbar! Der Treiber nennt das Feld dann selbstständig "MENGE" da es keinen Alias gibt) :
select sum(menge) from tabelle
Das selbe Statement mit Alias läuft ohne Exception:
select sum(menge) as gesamt from tabelle
Also denk ich mal es liegt am Treiber. Wieso ich die Exception nicht abgefangen bekomme ist mir allerdings ein Rätsel.
-
"Christoph K. wrote:
Ich habe ein Problem beim Entwickeln unter embedded Visual CE 4.0.
Erhalte beim Ausführen meines Programms ständig Exceptions der Art:First-chance exception in uwpfsdce.exe: 0xE06D7363: Microsoft C++ Exception.
RaiseException: Thread=8f1304a8 Proc=8c09e524 'uwpfsdce.exe'
AKY=00002001 PC=03f9c450 RA=8000eda0 BVA=01a29220 FSR=01a29220Was bedeuten diese Exceptions? Wie kann ich sie vermeiden?
First Chance Exceptions sind kein Problem. Der Debugger teilt dir im wesentlichen nur mit, dass irgendwo gerade eine Exception geworfen wird.
Du erhältst damit die Chance dich zwischen das Werfen der Exception und das Fangen der Exception reinzuhängen wenn du das unbedingt willst.
[Hab ich noch nie gebraucht]Wenn du das nicht willst, wird die Exception normal dem Programm weitergereicht. Wenn du danach nie wieder etwas von ihr hörst, wurde sie gefangen und behandelt.
Solche Exceptions sind auch völlig normal und deuten nicht auf ein Fehlverhalten deines Programmes hin.
mfg
Christoph"
-
Alle ODBC-Treiber, auch für andere Datenbanken, verlangen die Einhaltung spezifischer Konventionen oder die Übergabe entsprechend vereinbarter Strings.
Das ist kein Fehler.