2017-11-20 6 views
0

Als .NET Desktop-Entwickler habe ich viel Erfahrung mit verschiedenen Datenbanken, die bereits in Betrieb sind; aber ich bin kein DBA. Ich arbeite derzeit in einer Firma, wo ich bin nur Software-Typ hier, um sie von Grund auf neu zu bauen - ihre vorherige Enterprise-Level-Lösung war eine Access-Datenbank mit Makros und ein paar Formen gebaut. Also habe ich im Grunde niemanden, zu dem ich gehen könnte.SQL Server Express, Windows 7, Visual Studio 2017

Mit diesem Vorwort, wie zum Teufel bekomme ich eine Datenbank - jede Datenbank !!! - zu meiner VS-Lösung hinzugefügt? Ich habe fast 6 Stunden lang mit dem Kopf gegen diesen Kopf geschlagen und bin null Fortschritte gemacht. An dieser Stelle bin ich bereit zu sagen: "Screw MS-Datenbanken!" und beginne mit MySQL oder PostgreSQL oder so.

Die Desktop-Anwendung, die ich entwickle, muss funktionieren, ob es eine Internetverbindung gibt oder nicht, also brauche ich eine lokale Datenbank, die mit ClickOnce installiert wird. Von dem, was ich bisher gefunden habe:

  • SQL Server [Express] 2016+ erfordert Windows 8 oder höher (ein Rohrkrepierer, da 95% unserer Kunden immer noch mit Windows 7)
  • SQL Server Compact ist ist veraltet und wird Vergangenheit VS2013 nicht funktionieren
  • ich denke, LocalDB ist das, was in 2016+ Compact ersetzt

okay, also begann ich mit diesem Tutorial (?): https: //docs.microsoft.com/ de-de/visualstudio/data-tools/create-a-sql-database-by-using-a-designer Beim Versuch, eine "Service-basierte Datenbank" hinzuzufügen, gibt es jedoch nur einen Hinweis mir diesen Fehler einmal: "Der 'DBProviderFactories' Abschnitt kann nur einmal pro Konfigurationsdatei angezeigt werden." Ich versuche es erneut und erhalte diesen Fehler wiederholt: "DbProviderFactory konnte nicht gefunden werden für Typ System.Data.SqlClientConnection" Ich habe beide Fehler gegoogelt und alle Antworten, die ich finden konnte, beziehen sich auf VS2010 oder früher und ihre Lösungen sind entweder nicht anwendbar oder nicht funktionieren.

Als nächstes habe ich dieses Tutorial versucht: https://msdn.microsoft.com/en-us/library/aa983322.aspx Ich habe versucht, neue Datenverbindungen über das "Server Explorer" -Panel hinzuzufügen. Ich sehe "[*] Compact" nicht als Option. Wenn ich "Microsoft SQL Server-Datenbankdatei" versuche, erhalte ich nur den Fehler: Der angeforderte .Net-Framework-Datenprovider konnte nicht gefunden werden. Es kann nicht installiert werden „

Ich habe sogar versucht, Datenquellen durch das Hinzufügen von‚Datenquellen.‘Panel;., Dass funktioniert auch nicht

ich installiert habe‚Datenspeicherung und Entwicklung‘Add-on von dem Visual Studio Installer, mehrere Versionen von SQL Server 2014, SQL Server Compact 4.0 und vielleicht ein paar andere ausführbare Dateien von der Microsoft-Website.

Nichts funktioniert.

Hilfe ...

Antwort

0

ich glaube, ich fand es einfach!

Offensichtlich gibt es "machine.config" -Dateien auf Ihrem Computer. Suchen Sie nach allen, und stellen Sie sicher, dass es nur ein einziges Tag für "DbProviderFactories" gibt. Ich kann jetzt ein Datenbankobjekt hinzufügen. Hoffentlich dies bringt mich im Geschäft ...

https://social.msdn.microsoft.com/Forums/vstudio/en-US/7b4f353b-77fd-427c-976b-5968abc88c13/visual-studio-2010-unable-to-find-the-requested-net-framework-data-provider-for-sql?forum=vseditor

0

Wenn das, was Sie sagen, ist, dass Sie eine Browser-basierte Anwendung schreiben - dann würde man die Tabellen zu SQL Server (Express) oder auch MySQL migrieren - es ist wirklich egal. Dann schreibe eine neue Web-App.Die vorhandene Access-App dient als Modell für das Anzeigen der Funktionen & Bildschirmlayout, ist aber ansonsten nicht tragbar.

Auf der anderen Seite, wenn Sie eine Windows-Anwendung neu schreiben; dann ist die Entscheidung, ob die Nutzlast eine Serverlösung benötigt oder ob man auf PC-Ebene bleiben kann. Wenn die Nutzdaten für den PC geeignet sind, schreiben Sie sie erneut mit Visual Studio oder Access erneut.

Zugriff ist ein Front-End-db - die Tabellen im Back-End, ob sie in SQL Server oder einer Access-Datei gespeichert sind, sind vollständig passiv. Die gesamte Verarbeitung wird vom PC des Benutzers ausgeführt. Wenn die Nutzlast dies erlaubt, dann ist dies die kostengünstigste Umschreiboption.

Wenn Sie eine PC-Level-Payload entwachsen haben - dann muss ein Backend-Datenbank-Feature-Set mit einem passiveren Frontend entwickelt werden.

Verwandte Themen