AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken C# FirebirdClientFactory kann nicht genutzt werden
Thema durchsuchen
Ansicht
Themen-Optionen

FirebirdClientFactory kann nicht genutzt werden

Ein Thema von Jürgen Thomas · begonnen am 25. Sep 2006 · letzter Beitrag vom 1. Okt 2006
 
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#1

FirebirdClientFactory kann nicht genutzt werden

  Alt 25. Sep 2006, 10:51
Datenbank: Firebird • Version: 2.0 RC1 • Zugriff über: FB NET Provider 2.0.1 RC1
Hallo,

ich möchte mich auf einen DB-unabhängigen Zugriff vorbereiten und möchte dabei DbProviderFactory nutzen. Das klappt aber für FirebirdClientFactory nicht; die verschiedenen Fehlermeldungen helfen mir nicht weiter.

Der FB-NET-Provider ist in machine.config eingetragen (Dank an Carlos Guzmán Álvarez):
Code:
<configSections>
    <section name="firebirdsql.data.firebirdclient"
             type="System.Data.Common.DbProviderConfigurationHandler, System.Data,
             Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
...
<DbProviderFactories>
     <add name="FirebirdClient Data Provider"
                 invariant="FirebirdSql.Data.FirebirdClient"
                 description=".Net Framework Data Provider for Firebird"
                 type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory,
                      FirebirdSql.Data.FirebirdClient, Version=%Version%, Culture=%Culture%,
                      PublicKeyToken=%PublicKeyToken%" />
...
//  Subst:
%Version%        -> The version of the provider assembly you are using.
%Culture%        -> The culture of the provider assembly you are using.
%PublicKeyToken% -> The Public Key Token of the provider assembly you are using.
Ausgangspunkt ist folgender Versuch (nach @Elvis und anderen Hinweisen):
Code:
private System.Data.Common.DbProviderFactory dataFactory;
string s0 = System.Configuration.ConfigurationManager.AppSettings["provider"];
//  s0 enthält den korrekten Wert
dataFactory = System.Data.Common.DbProviderFactories.GetFactory(s0);
//  Fehlermeldung:
Exception System.TypeInitializationException was thrown in debuggee:
Der Typeninitialisierer für JThomas.DGW.Data.DbService hat eine Ausnahme verursacht.
Dieses Problem ist mir inzwischen klar, weil DbProviderFactory eine abstrakte Klasse ist. Also will ich gezielt FirebirdClientFactory einbinden, was mir aber nicht gelingt:

Versuch A
Code:
dataFactory = FirebirdSql.Data.FirebirdClient.FirebirdClientFactory;
Zitat von Fehlermeldung:
FirebirdSql.Data.FirebirdClient.FirebirdClientFact ory ist ein Typ, das im gegebenen Kontext jedoch ungültig ist.
Versuch B mit gleicher Fehlermeldung:
Code:
dataFactory = FirebirdSql.Data.FirebirdClient.FirebirdClientFactory();
Versuch C
Code:
dataFactory = new FirebirdSql.Data.FirebirdClient.FirebirdClientFactory();
Zitat von Fehlermeldung:
Der Typ FirebirdSql.Data.FirebirdClient.FirebirdClientFact ory hat keine definierten Konstruktoren.
Andererseits erfahre ich über Lutz Roeder's Reflector:
Zitat:
public static readonly FirebirdClientFactory Instance;
Declaring Type: FirebirdSql.Data.FirebirdClient.FirebirdClientFact ory
abgeleitet von: System.Data.Common.DbProviderFactory
Also müsste einer meiner Versuch funktionieren. Was verstehe ich hier noch (überhaupt) nicht?

Danke für erläuternde Hinweise! Jürgen

PS. Für dieses Problem hätte ich lieber ein NET- oder Firebird-Forum. Aber die DP wird so oft und gerne besucht (vor allem auch von DB-Fachleuten), dass ich hier die größte Erfolgsaussicht vermute.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 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