Laden...

SQLite-Provider wird nicht gefunden

Erstellt von gh0st93 vor 8 Jahren Letzter Beitrag vor 8 Jahren 9.333 Views
G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren
SQLite-Provider wird nicht gefunden

verwendetes Datenbanksystem: <SQLite version: 97>
Hallo liebes Forum.

Ich wollt mal fragen woran das liegen kann, dass mein (SQLite provider nicht gefunden wird?.

Ist eigentlich alles im Projekt gebunden und angegeben.
App.config


  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite.EF6" />
      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
    </DbProviderFactories>
  </system.data>
  <entityFramework>
    <providers>
      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
    </providers>
  </entityFramework>

System.Data.SQLite + System.Data.SQLite.EF6 + System.Data.SQLite.Linq + EntityFramework + EntityFramework.SqlServer
alles in den Verweisen gebunden.

127 Beiträge seit 2015
vor 8 Jahren

Vermutlich häufigster Grund:
Die Assemblies / DLLs sind nicht im gleichen Verzeichnis wie das Programm bzw. die Assemblies sind auf dem System nicht im Global Assembly Cache.

Vermutlich häufigster Grund der zur Fehldiagnose führt:
Die Assemblies sind zwar im richtigen Verzeichnis haben aber die falsche Platform wie die Anwendung.
(z.B. Anwendung ist x86 und SQLite Assemblies sind x64 oder umgekehrt)

SQLite spezifisch:
SQLite benötigt eine Visual C++ Runtime (abhängig von der verwendeten SQLite Version - siehe Homepage von SQLite) die evtl. nicht installiert ist oder auch hier eben nicht in der richtigen Version / Platform (x64 / x86)

Wenn es keines dieser Gründe ist, dürfte uns eine exakte Fehlermeldung weiterhelfen.

G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren

Hallo hummigbird1:
Vielen dank schon einmal für deine schnelle und wirklich nützliche Hilfe.

Zum Fehler: Ich wollte zu probe, ob die DB gefunden wird, auch wirklich eingetragen wird ect einfach ne kleine Anwendung schreiben und fang halt die exception ab und dort erhalte Ich die meldung:> Fehlermeldung:

"Unable to determine the provider name for privder factory of type 'System.Data.SQLite.SQLiteFactory'. Make sure that the ADO.NET provider is installed or registered in the application config.

Ebenso habe ich hier auf http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki sowohl das Setup für 64 als auch 32 Installiert (Framework 4.5.1).
Hier mal ein paar Bilder dazu.

G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren
127 Beiträge seit 2015
vor 8 Jahren

Hi,

schau doch mal ob das zufällig das gleiche Problem ist wie hier beschrieben:
http://stackoverflow.com/questions/20460357/problems-using-entity-framework-6-and-sqlite

G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren

Leider nicht.
Diesen Fehler hatte ich ebenfalls, konnte Ihn jedoch beseitigen.
Wenn ich meine abfrage nicht in ein Try block packe, wird mir auch keine Meldung angezeigt.
Nur meine Exception, wenn ein Try block drum packe.

127 Beiträge seit 2015
vor 8 Jahren

OK, noch ein Versuch:
Nach diesem Post (http://erikej.blogspot.de/2014/11/using-sqlite-with-entity-framework-6.html) zu urteilen fehlen dir tatsächlich noch Einträge in deiner Config.
Du brauchst noch das folgende zusätzlich zu den bereits vorhandenen EF6 Einträgen:

<remove invariant="System.Data.SQLite" />

<add name="SQLite Data Provider"
                     invariant="System.Data.SQLite"
                     description=".NET Framework Data Provider for SQLite"
                     type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />

Lies dir auf jeden Fall noch den genannten Post durch, der könnte dir auch insgesamt noch zusätzlichen Nutzen erweisen.

G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren

Komisch, erhalte nun den selben fehler wie vorher.> Fehlermeldung:

The Entity Framework provider type 'System.Data.SQLite.SQLiteProviderServices, System.Data.SQLite.Linq' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SQLite' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See
>
for more information.

Habe mir die zwei Links von dir mal angeschaut und leider führten diese ebenfalls nicht den erhofften erfolg. 😦

127 Beiträge seit 2015
vor 8 Jahren

Nun, jede weitere Idee wäre vermutlich auch nicht mehr hilfreich da sie meinerseits nur theoretischer Natur wäre.
Vielleicht kannst du ja mal die gesamte Solution packen und hochladen damit man sich mal das gesamtheitlich anschauen kann.

I
1.739 Beiträge seit 2005
vor 8 Jahren

Welche Plattform genau?
Könnte von Windows bis Gadgeteer über ein Linux alles sein.

G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren

Gern, allerdings ist die Datei schon 21,2MB groß.

Tut mir leid, dass ich so spät antworte, hatte die letzten tage bisschen Prüfungs stress.

127 Beiträge seit 2015
vor 8 Jahren

Hmmm, 21 MB da sind dann aber auch noch Nutzdaten mit dabei und nicht nur Solution und Source Dateien, oder?
Ne Möglichkeit das Projekt auf ein Proof-of-Concept zu reduzieren?
Im Zweifelsfall halt das ganze Paket irgendwo bereitstellen. Dropbox etc.

G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren

Eigentlich hab ich nichts anderes drin außer die nötigsten. (Auf bild zu sehen)
Aber ich versuch mal die Solution wo hoch zu laden.
Welche Datenbanken kann ich noch Nutzen, wenn sqLite doch so viele Probleme aufweißt?
mdf -> Funktioniert, weiß jedoch um die Stärken und Schwächen nicht oder ob sich dies bei größeren Datenmengen standhaft ist.
mysql -> muss soviel ich weiß vorher das localhost auf dem zielrechner sein und würde ungern den Anwender noch irgendwelch sachen anbieten.
Sollte eigentlich im Grunde nur Installiert und ausgeführt werden ohne sich noch was anderes zur Installieren.

Edit: Habe jetzt mal hier mal da gelesen, dass Firebird eigentlich recht Gut sein soll.
Dies bezüglich hätte ich mal eine Frage.

Das Projekt soll im Großen und ganzen auf 2 Rechnern fungieren.
Rechner A (Hauptrechner) Rechner B (ClientRechner)
Im Programm kann man wählen, ob sich das Programm auf dem Haupt oder Client rechner ausführt.
Sollte das Programm als Clientrechner angegeben sein, so wird es alle Daten die gespeichert werden müssen an den Hauptrechner schicken und diese von dort in die DB speichern.
Es sollen natürlich auch Sicherheitskopien erstellt werden und ebenso soll das Programm auch auf einem 3.Rechner laufen (Was als HomeVersion gekenntzeichnet wird) worin man vom Hauptechner zuvor eine backup von der DB erstellt hat und diese dan zuhause sag ich mal anschauen kann).

Wäre Firebird in der lage? Sollte ich lieber auf eine andere DB zurückgreifen?
"Der Thread hier soll nicht das eben angesprochene Projekt werden sondern einfach nur zur Lernzwecken um mich in die Materie von Entity einzuarbeiten" 😃

3.825 Beiträge seit 2006
vor 8 Jahren

Sollte das Programm als Clientrechner angegeben sein, so wird es alle Daten die gespeichert werden müssen an den Hauptrechner schicken und diese von dort in die DB speichern.

Sind beide Rechner im gleichen Netzwerk ? Dann würde ich eher einen großen SQL Server nehmen wie Microsoft SQL Express. Dann kannst Du Dich auch vom Client-Rechner mit der Datenbank des Hauptrechners verbinden.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren

Wo das Programm "Hauptsächlich" läuft, Ja!
Allerdings wird das Programm auch auf einem Heimrechner laufen.
Hauprechner ist schon etwas älter, Client rechner etwas neuerer. Heimrechner weiß ich nicht, was für einer das ist.
Und sollte zum Schluss noch entschieden werden, dass das Programm noch auf einen Surface laufen soll würde es schon schwieriger werden.
Da ich sonst auch auf dem Surface den MS Server Installieren müsste.

G
gh0st93 Themenstarter:in
85 Beiträge seit 2014
vor 8 Jahren

.