Firebird/Interbase OLEDB oder ODBC Treiber gesucht
-
Das Problem ist ja nicht, das ODBC generell nicht funktioniert sondern das die Qualität der verfügbaren Treiber so miserabel ist. Das verwundert mich irgendwie. Dieses SOCI werd ich mir mal ansehen, danke.
-
Cpp_Junky schrieb:
Wie machen das die Leute, die [..] mit Firebird/Interbase arbeiten?
Den ADO.NET Provider nehmen
(bzgl "[..]" sage ich nur *röchel* ;D)
-
geeky schrieb:
Den ADO.NET Provider nehmen
Ich hatte den in meinem jugendlichen Leichtsinn echt schon runtergeladen Bin dann aber grad noch zu Bewusstsein gekommen
(bzgl "[..]" sage ich nur *röchel* ;D)
Nana!, Firebird ist IMHO das beste totalkostenlosundmachdamitwasduwillst-Datenbanksystem das es momentan gibt. Leider sind geeignete standardisierte Schnittstellen zu User und Entwickler kaum vorhanden. Naja, ist halt die Kehrseite von Open-Source. Durch den Frickelkram-Dschungel muss man sich erstmal durchschlagen
-
Nichts gegen Firebird (bin eh kein DB-Spezi), aber hast du dir schon mal PostgreSQL angeschaut? Ist eine BSD-lizensierte RDBMS, die auch alle wichtigen Features hat. Wenn du dir deine RDBMS selbst aussuchen kannst (weiß ja nicht welchen Vorgaben du unterliegst) kannst du dir das zumindest anschauen.
Habe mir letztens das Release für Windows installiert und mit dem Admin-Tool gespielt. Funktioniert zumindest auch für einen Nicht-DB-Admin ganz gut.
-
@Cpp_Junky: Ich meinte damit, dass ich Firebird nicht wirklich profesionell nutze
-
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.