itzzshiro Geschrieben 10. Dezember 2020 Geschrieben 10. Dezember 2020 Hallo zusammen! Und zwar bin ich gerade dabei eine WindowsFormApp zu erstellen über die ich PowerShell Scripts ausführen kann bzw. Befehle/Scripts mir abspeichern und jederzeit (über ein Alias) aufrufen kann. Jetzt habe ich versucht eine Datenbank (damit ich Befehle eben permanent abspeichern kann) zu erstellen und habe dabei die von Visual Studio bereits gegebene Variante der Dienstbasierten Datenbank genommen und frage mich gerade warum ich diese Erstellte Datenbank nicht über Datenquellen bei meiner WinFormApp einbinden kann da kommt nur die Meldung: "Dieses Fenster wird für das ausgewählte Projekt nicht unterstützt. Schritte zum Aktivieren der Datenbindung finden Sie hier: https://aka.ms/WinForms/DataBinding", was ich halt nicht verstehe, da man das ja eigentlich in eine WindowsFormsApp einbinden können sollte. Den Link dazu hatte ich bereits aufgerufen aber dort wird prinzipiell nur erklärt wie das mit DataBinding funktioniert usw. Aber nicht wie ich die Option Aktiviere damit ich diese in meinem jetzigen Projekt nutzen kann. Übersehe ich irgendetwas richtig banales? Schon einmal danke für eure Hilfe! Zitieren
KeeperOfCoffee Geschrieben 10. Dezember 2020 Geschrieben 10. Dezember 2020 (bearbeitet) Ist SQL Server (Express) installiert? Bearbeitet 10. Dezember 2020 von KeeperOfCoffee Zitieren
itzzshiro Geschrieben 10. Dezember 2020 Autor Geschrieben 10. Dezember 2020 Uhm ist das extern oder als erweiterung zu installieren? ^^' Tut mir leid bin kompletter Anfänger was das alles betrifft bin eigentlich auch im FiSi Bereich aber das is gerade so ne Art Eigenprojekt. Zitieren
KeeperOfCoffee Geschrieben 10. Dezember 2020 Geschrieben 10. Dezember 2020 Mal eine Übersetzung aus einem anderen Forum (https://forums.asp.net/t/2103106.aspx?What+is+service+based+database+in+dotnet) Zitat Eine servicebasierte Datenbank ist eine Datenbank, auf die nur über einen Server zugegriffen wird. Sie verwendet eine MDF-Datendatei, das ist das SQL Server-Format. Um eine Verbindung zu einer SQL Server-Datenbank herstellen zu können, muss der SQL Server-Dienst ausgeführt werden, da dieser Ihre Anfragen verarbeitet und auf die Datei zugreift. Ohne SQL Server kannst du also mit der Datei auch nichts anfangen. Nur mal so...ich würde ja so nicht arbeiten. Nimm doch eine SQLite Datenbank, oder sonst eine und greif ordentlich drauf zu. Zitieren
Whiz-zarD Geschrieben 10. Dezember 2020 Geschrieben 10. Dezember 2020 (bearbeitet) Was möchtest du überhaupt mit der Datenbank erreichen? Solange ich keine großen und/oder komplexe Datenstrukturen persistieren muss, würde ich auch keine Datenbank nehmen, sondern evtl. reicht auch einfach nur eine JSON-Datei, die ich mir einfach in den Speicher lade aber dies ist eigentlich nur ein Detail. Wo die Daten herkommen sollte, im ersten Moment egal sein. Bearbeitet 10. Dezember 2020 von Whiz-zarD Zitieren
itzzshiro Geschrieben 11. Dezember 2020 Autor Geschrieben 11. Dezember 2020 vor 15 Stunden schrieb KeeperOfCoffee: Mal eine Übersetzung aus einem anderen Forum (https://forums.asp.net/t/2103106.aspx?What+is+service+based+database+in+dotnet) Ohne SQL Server kannst du also mit der Datei auch nichts anfangen. Nur mal so...ich würde ja so nicht arbeiten. Nimm doch eine SQLite Datenbank, oder sonst eine und greif ordentlich drauf zu. okay vielen dank! Ich werd das mal sofort machen und hoffe das da der Geistesblitz kommt Zitieren
itzzshiro Geschrieben 11. Dezember 2020 Autor Geschrieben 11. Dezember 2020 vor 12 Stunden schrieb Whiz-zarD: Was möchtest du überhaupt mit der Datenbank erreichen? Ich will mit der Datenbank das Ziel verfolgen eine immer abrufbare und erweiterbare Instanz zu haben, welche es mir ermöglicht PowerShell Skripte Abzuspeichern und zu ergänzen damit ich bei der eigentlichen WinFormApp über wenige Klicks ein größeres PowerShell Skript auch ausführen könnte ohne erstmal den Befehl für das ganze raussuchen zu müssen wenn man das halt irgendwann später wieder bräuchte. Zitieren
Whiz-zarD Geschrieben 11. Dezember 2020 Geschrieben 11. Dezember 2020 (bearbeitet) Welchen Mehrwert soll denn die GUI haben? Genau so gut kann ich die Skripte doch auch per Kommandozeile ausführen. Mit der GUI hab ich nichts gewonnen. Im Gegenteil. Ich verliere die Möglichkeit die Skripte automatisiert auszuführen bzw. es schwieriger, da ich nun Mausklicks automatisieren müsste. Ein weiteres Problem ist auch die Wartbarkeit der Skripte, da sie in der Datenbank in deinem CLOB-Feld liegen. D.h. wenn ich die Skripte anpassen oder korrigieren möchte, muss ich erstmal das Skript wieder aus der Datenbank lesen, es dann ändern und wieder in die Datenbank schreiben. Also braucht man noch zusätzliche Werkzeuge. Wenn du aber unbedingt eine GUI haben willst, könnte man auch eine CSV-, XML- oder JSON-Datei anlegen: CSV: NAME;FILE "Hallo Welt";"C:\Scripts\HalloWelt.ps1" "CoolScript";"C:\Scripts\CoolScript.ps1" XML: <?xml version="1.0" encoding="UTF-8"?> <scripts> <script> <name>Hallo Welt</name> <file>C:\scripts\HalloWelt.ps1</file> </script> <script> <name>CoolScript</name> <file>C:\scripts\CoolScript.ps1</file> </script> </scripts> JSON: [ { "Name" : "Hallo Welt", "File" : "C:\\Scripts\\HalloWelt.ps1" }, { "Name" : "CoolScript", "File" : "C:\\Scripts\\CoolScript.ps1" }, ] Die Skripte liegen dann auf der Festplatte und können einfach angepasst und erweitert. Wenn neue Skripte hinzukommen sollen, braucht man nur die Datei anpassen. Mit entsprechenden Deserialisern (CSVHelper, XmlSerializer, JsonSerializer) kann man daraus eine Liste von Objekten erstellen, die dann benutzt werden können, um die Buttons für die GUI zu generieren. Es muss nicht immer eine Datenbank sein. Eigentlich ist die Persistenz nur ein Detail deiner Anwendung. Woher die Daten kommen, sollte auch egal sein. Ich denke, dass du schon mit der GUI genug zu kämpfen haben wirst, sodass das Problem der Persistenz auch erstmal warten könnte und du erst mal mit Dummy-Werten arbeitest. Bearbeitet 11. Dezember 2020 von Whiz-zarD Zitieren
itzzshiro Geschrieben 11. Dezember 2020 Autor Geschrieben 11. Dezember 2020 vor einer Stunde schrieb Whiz-zarD: Die Skripte liegen dann auf der Festplatte und können einfach angepasst und erweitert. Wenn neue Skripte hinzukommen sollen, braucht man nur die Datei anpassen. Mit entsprechenden Deserialisern (CSVHelper, XmlSerializer, JsonSerializer) kann man daraus eine Liste von Objekten erstellen, die dann benutzt werden können, um die Buttons für die GUI zu generieren. Es muss nicht immer eine Datenbank sein. Eigentlich ist die Persistenz nur ein Detail deiner Anwendung. Woher die Daten kommen, sollte auch egal sein. Ich denke, dass du schon mit der GUI genug zu kämpfen haben wirst, sodass das Problem der Persistenz auch erstmal warten könnte und du erst mal mit Dummy-Werten arbeitest. Vielen Dank erstmal für die umfangreiche Antwort. Ja ich wollte das gern mit GUI machen, da das ein wenig Nutzerfreundlicher auf mich wirkt als nur über die Konsole. Grundsätzlich will ich ja das wir diese GUI in der Firma nutzen können um eben diese Skripte angenehm schnell ausführen zu können. An .ps1 Dateien wo ich mir die Skripte abspeichere und vielleicht zentral im Netzlaufwerk liegen lasse hatte ich bereits gedacht wollte es aber erstmal über Datenbanken ausprobieren, da dass das erste war was mir dazu einfiel als Speichermöglichkeit. Aber wenn das, sowie sich das jetzt gerade anhört, viel umständlicher ist als einfach per .ps1 Dateien zu machen, dann denke ich würde ich schauen das ich das so irgendwie hinbekomme. Zitieren
MrN1ceGuy Geschrieben 11. Dezember 2020 Geschrieben 11. Dezember 2020 Hi, hat zwar so direkt nichts mit deiner Frage zu tun. Aber da du Anfänger bist, würde es sich denke ich eher für dich lohnen WPF statt Forms zu lernen. Forms ist mittlerweile einfach sehr veraltet und wenn du schon von bei den Anfängen bist, kannst du ja direkt mit WPF anfangen Zitieren
KeeperOfCoffee Geschrieben 11. Dezember 2020 Geschrieben 11. Dezember 2020 Aha und WPF ist nicht alt, oder wie? Das hat so gut wie nichts mit der Ausgangsfrage zu tun. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.