![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: BDP.Net
Verbindung zu Firebird-DB
Ich habe mit IBExpert eine neue Firebird-Datenbank angelegt und dort dann eine Tabelle erzeugt. Die Einträge in der Registration Info entsprechen denen der mitgelieferten Demo-Datenbank. Nun richte ich die BDP Connection im Database Explorer ein. Auch hier richte ich mich nach den Einträgen der Demo-DB. Beim Verbindungstest erhalte ich dan die folgende Fehlermeldung:
Zitat:
|
Re: Verbindung zu Firebird-DB
Hi,
ohne es selbst getestet zu haben: Der BDP hat den schlechten Ruf sehr fehleranfällig zu sein! Besser auf den Firebird .NET Provider wechseln... Lemmy |
Re: Verbindung zu Firebird-DB
Zitat:
|
Re: Verbindung zu Firebird-DB
Hat wirklich niemand eine Idee, was ich bei Erstellen einer Firebird-DB mit IBExpert beachten muß?
|
Re: Verbindung zu Firebird-DB
Zitat:
Der DBP bringt dir einen Monsterconnectionstring, in dem Infos angegeben werden müssen, die absolut unnötig sind. Der BDP bringt dir die gleiche Funktionalität wie es die ADO.Net Interfaces bringen würden. (Wenn man mal diese DAU Funktionen á la AutoUpdate gönnerhaft ignoriert :mrgreen: ) Wenn du in deinen Klassenbibliotheken ganz einfach NUR mit den ADO.Net Interfaces arbeitest, erreichst du das gleiche Ziel OHNE ein Borland.XXX in den Gac hauen zu müssen. Und OHNE stundenlang mit deinem Provider zu diskutieren, ob er dem BDP vertrauen will... (Dazu gab's hier schonmal 'nen Thread ;) ) Du wirfst oben nur noch eine Typreferenz auf eine Sql-/Oracle-/Fb-/whatever- Connection rein. Und schon kannst du davon eine Instanz anlegen (Du weißt ja, dass der Typ einen parameterlosen Constructor haben MUSS ;) ). Hier mal ein abstrakter Bleistift:
Code:
internal class ConnectionDingsBums
{ public static IDbConnection GetConnectionInstance(Type connectionType) { if (typeof (IDbConnection).IsAssignableFrom(connectionType)) { return connectionType.GetConstructor(Type.EmptyTypes).Invoke(null) as IDbConnection; } else { throw new ArgumentException("miep"); } } } internal class Program { static void Main() { using (IDbConnection connection = ConnectionDingsBums.GetConnectionInstance(typeof (FbConnection))) { connection.ConnectionString = "miep"; IDbCommand command = connection.CreateCommand(); command.CommandText = "miep"; IDataParameter parameter = command.CreateParameter(); parameter.ParameterName = "miep"; //DbType wird in der Instanz hinter dem //Interface zum richtigen Typen des Providers übersetzt // bei FB ist es VarChar... parameter.DbType = DbType.AnsiString; parameter.Value = "miep"; command.Parameters.Add(parameter); IDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader.GetString(0)); } } } } BTW: Was bringen dir Live Daten? :gruebel: Die Beispieldatensätze, die du bei den normalen Providern bekommst reichen doch eigentlich auch nzw. Ich habe gar keine Connection auf dem Form sondern binde höchstens IBindingList Implementierungen an irgendwelche Controls. :zwinker: Ums es kurz zu fassen, ich persönlich finde einen Whatever-Provider 100-mal besser als so einen BDP mit einem 10MB Connectionstring. :mrgreen: Wenn man das System hinter ADO.Net verstanden hat, ist man auch nicht auf fixe Klassennamen angewiesen. |
Re: Verbindung zu Firebird-DB
@Robert: Dann bin ich wohl ein DAU, weil ich genau auch diese AutoUpdate-Funktion verwenden möchte. Das war aber leider nicht die Antwort auf meine Frage!
|
Re: Verbindung zu Firebird-DB
Zitat:
Wenn du die Datenbank mit IBExpert wieder aufkriegst und deine Tabelle siehst ist alles OK und das Problem liegt eindeutig nicht bei IBExpert. Möglich als Fehlerquelle wäre einmal die BDP an sich die ich auch keinem empfehlen kann. Als zweites bei einer Mischinstallation von Interbase und Firebird der Versuch mit einem Interbase-Treiber auf Firebird zuzugreifen. Das geht zwar normalerweise gut, kann aber bei den Fehlermeldungen schon mal zu Mißverständnissen führen. |
Re: Verbindung zu Firebird-DB
Merkwürdig ist aber, daß ich mit dem BDP-Provider auf die von Firebird mitgelieferte DB (C:\Programme\Firebird\Firebird_1_5\examples\EMPLO YEE.FDB) ohne Probleme zugreifen kann. :gruebel:
|
Re: Verbindung zu Firebird-DB
Zitat:
In ersten Fall wäre der FbProvider doch megakomfortabel. Er unterstützt eigentlich alles was FB kann, zum Beispiel auch das Eventing system. :) Für den 2. Weg würde ich dir die Interfaces empfehlen. (Das würde dir auch häufig wiederverwendbare Klassen geben ;) ) |
Re: Verbindung zu Firebird-DB
Moin Robert,
mein Wunsch ist es nun mal das AutoUpdate des BDP zu nutzen. Die Idee eines Client-Dataset finde recht gut. Inzwischen gelingt mir der Zugriff auf eine FB-DB auch. Habe die DB noch einmal komplett neu erstellt. Allerdings habe ich jetzt dieses Problem: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz