Hallo Leute,
ich habe folgendes Problem.
Ich habe eine Anwendung geschrieben, die mit Daten einer SQLite Datenbank arbeitet.
Auf der Entwicklungsumgebung funktioniert das auch wunderbar.
Aber wenn ich das auf den Win 10 Rechner meines Vaters kopiere, erhallte ich den Fehler, dass der Provider nicht gefunden werden kann.
Auf dem ist auch soweit nichts in der Art installiert.
Zu Begin der Anwendung wird folgendes ausgeführt:
Der Trace gibt auch den SQLite aus!
Damit sollte der Provider ja eigentlich public gemacht werden.
im Connect findet das hier statt:
Aber genau da kommt die Exception.
in dem Projekt habe ich angegeben, dass x86 verwendet werden soll und in dem Appverzeichniss liegen
- System.Data.SQLite.dll
- System.Data.SQLite.EF6.dll
- System.Data.SQLite.Linq.dll
Woran liegt dass, dass der den Provider nicht findet.
ich habe folgendes Problem.
Ich habe eine Anwendung geschrieben, die mit Daten einer SQLite Datenbank arbeitet.
Auf der Entwicklungsumgebung funktioniert das auch wunderbar.
Aber wenn ich das auf den Win 10 Rechner meines Vaters kopiere, erhallte ich den Fehler, dass der Provider nicht gefunden werden kann.
Auf dem ist auch soweit nichts in der Art installiert.
Zu Begin der Anwendung wird folgendes ausgeführt:
Code:
CreateProvider("SQLite Data Provider", ".Net Framework Data Provider for SQLite", "System.Data.SQLite", "System.Data.SQLite.SQLiteFactory, System.Data.SQLite"); public void CreateProvider(string provider, string description, string name, string type) { try { System.Data.DataSet dataSet = System.Configuration.ConfigurationManager.GetSection("system.data") as System.Data.DataSet; DataRow rowToDelete = null; foreach (DataRow row in dataSet.Tables[0].Rows) { if ((row["InvariantName"] as string) == name) { rowToDelete = row; } } if (rowToDelete != null) { dataSet.Tables[0].Rows.Remove(rowToDelete); } dataSet.Tables[0].Rows.Add(provider, description, name, type); DataTable factoryClasses = System.Data.Common.DbProviderFactories.GetFactoryClasses(); foreach (DataRow row in factoryClasses.Rows) { System.Diagnostics.Trace.WriteLine(row.ItemArray[2].ToString()); } } catch (System.Data.ConstraintException) { } }
Damit sollte der Provider ja eigentlich public gemacht werden.
im Connect findet das hier statt:
Code:
System.Data.Common.DbProviderFactories.GetFactory("System.Data.SQLite").CreateConnection();
in dem Projekt habe ich angegeben, dass x86 verwendet werden soll und in dem Appverzeichniss liegen
- System.Data.SQLite.dll
- System.Data.SQLite.EF6.dll
- System.Data.SQLite.Linq.dll
Woran liegt dass, dass der den Provider nicht findet.
Comment