Autor Beitrag
Blup
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 163
Erhaltene Danke: 41



BeitragVerfasst: Mo 30.05.16 10:23 
user profile iconCsharp-programmierer hat folgendes geschrieben Zum zitierten Posting springen:
Also wenn die Benutzer (der Firma) die Anwendung schließen, soll die neue Datenbankdatei auf einen Server geladen werden, damit alle 4 Computer von den Daten auf den neuesten Stand sind. Ich denke mal das Hoch/Runterladen der Dateien sollte mittels UploadFile kein Problem sein - naja... schauen wir mal ;)

Normalerweise löst man dieses Problem, in dem nur eine Datenbankdatei und der Datenbankserver(Software) auf dem Server(Hardware) installiert wird. Die Anwender greifen über den Datenbankclient(Software) der auf seinem PC installiert ist auf diese gemeinsame Datenbank zu. So ist jede Datenänderung sofort für alle Benutzer verfügbar.

Sollen die Anwender auch ohne Verbindung zum Server (z.B. unterwegs auf einem Laptop) arbeiten können, ist das ein Fall für Replication.
Damit möchtst du dich als DB-Anfänger nicht auseinandersetzen.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 30.05.16 16:12 
Okay. Ich habe die .xsd Datei nun im Projektmappenexplorer gefunden. Ich habe jetzt aber das Problem, was ich immer habe, aber nur gestern nicht.

Ich erstelle eine neue Datenverbindung. Dann gehe ich unter dieser Datenverbindung auf Tabelle und dann aus Tabelle hinzufügen. Dann bearbeite ich die Tabelle und gehe auf das Speichern Symbol und fülle den Dialog aus. Wenn ich den Datenbankenexplorer aktuelisiere, steht die erstellte Tabelle nicht in der Liste.
Wenn ich nun auf z.B. Form1 [Entwurd] klicke und dann wieder auf speichern, öffnet sich wieder ein Dialogfeld. Gestern hatte ich dieses Problem nicht aber sonst immer. Deswegen war ich auch geeckelt von Datenbanken.
Einloggen, um Attachments anzusehen!
_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 113
Erhaltene Danke: 23

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Mo 30.05.16 18:07 
Hallo,

ich muss zugeben ich kenne mich mit den im Studio Integrierten Datenbanktools nicht besonders aus, ich erzeuge Datenbanken sofern möglich in der Regel zur Laufzeit aus dem Code und da ich noch nicht lange in der .NET Welt unterwegs bin mache ich das bisher auch nur bei einem ADO.NET Projekt (bei dem die äußeren Umstände das Entity Framework nicht zulassen).

Ein kürzer Test hat mir aber gezeigt, dass das von dir Verwendete Tool scheinbar dafür da ist SQL-Skripte zu erzeugen, also Textdateien, die du wie auch immer verwenden kannst. Zumindest sind es diese Dateien die herausfallen, wenn du auf Speichern drückst.

Wenn du diese Skripte direkt ausführen willst musst du den "Aktualisieren-Knopf" bemühen und nicht Speichern. Dann erscheint deine Designte Tabelle sofort in der Datenbank und du kannst damit arbeiten.
Wie du sie dann Später zu deinen "Kunden" bringst, damit sie auch dort läuft ist wieder eine ganz andere Frage.

Generell habe ich den Eindruck, dass du zu viel auf einmal willst. Ich habe einige deiner Fragen, die sich um dieses Projekt drehen, gelesen und diese deuten da auf eine ziemliche Überforderung hin (das ist keineswegs böse gemeint, sondern nur eine Feststellung). Daher möchte ich dir nahe legen, erst noch einmal einen Gang runter zu schalten und dich unabhängig von dem Projekt noch mehr mit den Grundlagen zu beschäftigen.

Wie user profile iconRalf Jansen dir weiter oben erklärte näherst du dich dem Problem aus einer ungünstigen Richtung, dann hast du wenig bis keine Erfahrung mit den verwendeten Techniken (ja ich halte es für absolut richtig hier auf ein Datenbanksystem zu setzen) und daher kannst du keine auch nur annähernd optimalen Lösungen umsetzen. Das ganze wird zu einem Produkt führen, dass du spätestens in einem Jahr, wenn du etwas mehr Erfahrung hast neu schreiben willst.

Du solltest dich zumindest mit den Grundlegenden Möglichkeiten von Datenbanken und SQL vertraut machen, ich würde dir hierfür vorschlagen, ein neues privates Projekt zu machen, in dem du zumindest mal eine Relation hast. Vielleicht eine Mini DVD Verwaltung, diese sollte mindestens eine Liste mit deinen DVDs enthalten (klar) und eine mit den Namen deiner Freunde, da du in dem Programm vermerken solltest an welchen Freund du welche DVD verliehen hast. Wichtig hierbei, jeder Freund kann mehrere DVDs leihen und du darfst weder die Namen der Freunde noch die der Filme in mehr als eine Tabelle schreiben. Des weiteren solltest du zuerst dein Datenbank Modell erstellen und erst wenn dass Fertig ist mit dem Programm beginnen.
Wenn du so eine Aufgabe lösen kannst, dann wirst auch das Programm für deinen Freund viel besser gestalten, und ihm ein qualitativ hochwertigeres Programm abliefern.

Wie gesagt, ich meine dass ganze überhaupt nicht böse, wir alle haben mal angefangen und es ist bewundernswert, wie du dich in dein Projekt verbeißt, aber das gezielte verbessern deiner Fähigkeiten im Vorfeld kann das Ergebnis nur besser machen.
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2006
Erhaltene Danke: 366

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mo 30.05.16 19:29 
Ich hab's jetzt mal unter VS 2012 getestet, und bin auf fast den selben Bug gestoßen.
So, für VS Versionen > 2010 muss man auf folgendes Acht geben.

Nachdem man eine Tabelle erstellt hat, sollte man die Tabelle.sql Datei nicht gleich speichern, und wenn man es doch gemacht hat, am besten gleich löschen.
Die erstelleten Tabellen gehören in der Entwurfsansicht AKTUALISIERT. In der linken Ecke ist so ein Button vorhanden.
Für den Fall dass keine .sql Datei existiert, wird auch keine Fehlermeldung erscheinen.
War die Aktualisierung erfolgreich, kann man
- Skript generieren lassen
- Datenbank aktualisieren

Wir klicken auf das 2.
Jetzt nehmen wir uns wieder den Datenbank Explorer vor, schauen kurz ob eine Tabelle vorhanden ist.
Ist sie das nicht, dann einfach Rechtsklicken und Aktualisieren.
Jetzt wird die Tabelle auf's DataSet (.xsd Datei gezogen).
Anschließend wechselt man vom Datenbank Explorer zu Datenquelle, ziehen von dort die Tabelle auf die Form (Emtwurf) und das Wunder ist vollbracht.

Wieso Fehler auftreten, bzw. wieso keine Tabellen angezeigt werden, wenn die .sql Datei zuvor gespeichert wurde, weiss ich auch nicht.
Ich sage mal, es ist ein Bug.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 30.05.16 19:47 
Zitat:
Wie du sie dann Später zu deinen "Kunden" bringst, damit sie auch dort läuft ist wieder eine ganz andere Frage.

Heißt das, dass die Anwendung mit der SQL-Datenbank nicht auf anderen PC funktioniert? :crying:

Zitat:
Generell habe ich den Eindruck, dass du zu viel auf einmal willst. Ich habe einige deiner Fragen, die sich um dieses Projekt drehen, gelesen und diese deuten da auf eine ziemliche Überforderung hin (das ist keineswegs böse gemeint, sondern nur eine Feststellung). Daher möchte ich dir nahe legen, erst noch einmal einen Gang runter zu schalten und dich unabhängig von dem Projekt noch mehr mit den Grundlagen zu beschäftigen.

Also wie soll ich anfangen. Wenn ich diesen Auftrag von meinem Kumpel nicht bekommen hätte, würde ich wahrscheinlich immer noch auf den XmlSerializer rumsitzen und mir die Frage stellen, ob dies der richtige Weg ist, so eine Menge von Daten abzuspeichern. Doch nun stelle ich mich halt den neuen Herausforderungen z.B. den Datenbanken. Dadurch, dass ich immer komplexere Aufträge bekomme, bilde ich mich mit meinen Programmierkenntnissen deutlich weiter, als ohne die Aufträge. Denn dann würde ich mich wahrscheinlich immer auf dem selben Niveau aufhalten und nicht viel neues erlernen. Also das ist zwar Ansichtssache, aber ich bin der Meinung, dass ich mich dadurch besser entwickle. Zumal ich für private Testprojekte nicht wirklich Ideen habe. :lol:

Also durch den Button Aktualisieren habe ich nun eine Tabelle erzeugt und (wie im Video) das DataSet auf die Form bekommen :party:
Wenn ich in das DataGridView nun Daten eingebe und speichere, passiert anscheinend nichts. Beim öffnen enthält das DGV keinerlei Daten, was ich nicht vertshe, da das im Video problemlos funktioniert. Auch in dem VS Projektordner befinden sich die Datenbankendateien. Woran kann das jetzt liegen?
Einloggen, um Attachments anzusehen!
_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4263
Erhaltene Danke: 851


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 30.05.16 20:12 
Zitat:
Heißt das, dass die Anwendung mit der SQL-Datenbank nicht auf anderen PC funktioniert? :crying:


Nicht von alleine. Je nachdem was du genau tust musst du den SQL Server mit installieren. Da du ja überraschenderweise eh eine Multiuser Anwendung zu schreiben scheinst wäre es eh ratsam einen zentralen Sql Server zu installieren auf den alle Clients(deine Anwendung) drauf zugreifen und gleich mit den gemeinsamen Daten arbeiten.

Alles was du dir da mit UploadFile und abgleichen ausgedacht hat klingt nach Problem. Denke mal kurz durch was bei paralleler Bearbeitung von irgendwas passiert(Ein User ändert a nach b und ein anderer a nach c. Wer gewinnt? Eine, beide, keiner? Wie führst du diese Daten richtig zusammen?)

Zitat:

Also wie soll ich anfangen. Wenn ich diesen Auftrag von meinem Kumpel nicht bekommen hätte, würde ich wahrscheinlich immer noch auf den XmlSerializer rumsitzen und mir die Frage stellen, ob dies der richtige Weg ist, so eine Menge von Daten abzuspeichern. Doch nun stelle ich mich halt den neuen Herausforderungen z.B. den Datenbanken. Dadurch, dass ich immer komplexere Aufträge bekomme, bilde ich mich mit meinen Programmierkenntnissen deutlich weiter, als ohne die Aufträge. Denn dann würde ich mich wahrscheinlich immer auf dem selben Niveau aufhalten und nicht viel neues erlernen. Also das ist zwar Ansichtssache, aber ich bin der Meinung, dass ich mich dadurch besser entwickle. Zumal ich für private Testprojekte nicht wirklich Ideen habe. :lol:


Jeder Jeck ist anders und es kann so funktionieren. Ich mache es eigentlich ähnlich wenn ich mich einem neuen Thema nähere. Ich versuche es aber bei jedem Projekt bei einer unbekannten zu belassen. Wenn man n Techniken neu lernen muss bekommst du die beim lernen kaum getrennt. Insofern finde ich die angesprochenen Idee mal kurz dieses Projekt wegzulegen und was speziell nur zu Datenbanken zu probieren richtig. Deine Idee mit Uploadfile drückt noch soviel Unverständnis aus (das war vermutlich schon bei der Xml Lösung nahe am Wahnsinn) das du eigentlich nur was richtig kaputtmachen kannst wenn du es nicht vorher an was anderem kurz probierst und ein paar Grundlagen legst. Dabei sollten dann ein paar Dinge klar werden bzw. die Probleme die du auch lösen musst bewußt werden (was ist eine Datenbank - Es gibt da verschiedene Typen nicht nur verschiedene Marken - Was für eine Datenbank will ich eigentlich, wie bekomme ich die deployed, soll die auf einen extra Rechner, wie löse ich Multiuserprobleme, was sind Transaktionen, welche Zugriffvarianten gibt es für Datenbanken, wie sichere ich die Daten, wie steuere ich Zugriffsrechte etc.)
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2006
Erhaltene Danke: 366

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mo 30.05.16 20:35 
Zitat:
Also durch den Button Aktualisieren habe ich nun eine Tabelle erzeugt und (wie im Video) das DataSet auf die Form bekommen :party:
Wenn ich in das DataGridView nun Daten eingebe und speichere, passiert anscheinend nichts. Beim öffnen enthält das DGV keinerlei Daten, was ich nicht vertshe, da das im Video problemlos funktioniert. Auch in dem VS Projektordner befinden sich die Datenbankendateien. Woran kann das jetzt liegen?

Das kann nur daran liegen, wenn man keine Datenbankdatei erstellt hat, in der man die nötigen Datensätze aus dem DataGridView speichern kann.

Fang' bitte komplett von NEU an. Lösch' alle Datenbankdateien der letzten Tage aus dem Ordner Dokumente bzw. wo sie auch immer gespeichert wurden, dazu alle Projekte die damit zu tun haben.
Entspann' dich ein wenig, lass' die Stolpersteine Revue passieren und überlege Schritt für Schritt, wie du an die Sache herangehen solltest.
Einige Sachen habe ich dir hier schon mitgeteilt, somit sollte nicht mehr viel schief gehen.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4263
Erhaltene Danke: 851


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 30.05.16 20:48 
Zitat:
Auch in dem VS Projektordner befinden sich die Datenbankendateien. Woran kann das jetzt liegen?


Kopierst du bei jedem kompilieren die Datenbank Files neu in den Ausgabeordner?
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 59

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 31.05.16 07:18 
Hallo user profile iconCsharp-programmierer,

es gibt unzählige Datenbanken mit denen du Arbeiten kannst und es gibt ebenso verschiedene Techniken wie du dann darauf zugreifst. In deinem Fall würde ich mir z. B. mal das Entity-Framework ansehen. Das ist (vereinfacht gesagt) eine Technik, die aus deinen C# Objekten eine dazu passende Datenbank erzeugen kann oder anders herum aus einer Datenbank die Passenden C#-Objekte. Du arbeitest dann nur mit den Objekten und bekommst nur Bedingt mit, was in der Datenbank passiert. Du musst ehe du es nutzen kannst, sicher auch hier eine Menge Theorie büffeln, aber ich kann mir vorstellen, dass es in der Summe weniger ist als wenn du dich in die "Manuelle" Datenbank Programmierung einarbeitest (hoffe ich zumindest ;)).

Generell können auch hier Grundlagen nicht schaden aber vielleicht kommen die ja beim Arbeiten damit. Da ich es selbst aber noch nicht verwendet habe (komme eher aus der Delphi Ecke) kann ich das aber nicht beurteilen.

Gruß,
Klabautermann
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Di 31.05.16 19:28 
Zitat:
Das kann nur daran liegen, wenn man keine Datenbankdatei erstellt hat, in der man die nötigen Datensätze aus dem DataGridView speichern kann.


Okay. Ich habe die .sql Datei nun in den selben Ordner wie die .exe gelegt und nun funktioniert es.

Zitat:
Kopierst du bei jedem kompilieren die Datenbank Files neu in den Ausgabeordner?


Ich habe die Datenbankdateien und die .sql Datei einmal in einen Seperaten Ordner auf den Desktop kopiert. Scheint bei mir zu funktionieren. Ich habe einem Kumpel gerade den ZIP-Ordner mit diesen Files geschickt, aber bei ihm kommt der Fehler, dass der Server nicht gefunden wurde.
Einloggen, um Attachments anzusehen!
_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4263
Erhaltene Danke: 851


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 31.05.16 20:03 
Hast du den den Sql Server installiert bzw. etwas das dem entspricht? Eine Datenbank ist nicht einfach ein File.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Di 31.05.16 20:12 
Nein. Ich erkläre mal meinen Gadenkengang :puke:
Die SQL Datei sagt wie die Datenbank aussehen soll und die 2 Datenbankfiles beinhalten die Daten der Datenbank. Ich dacht mehr braucht man nicht. Aber wie installiere ich den Server? Woher bekomme ich die Serverdatei?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4263
Erhaltene Danke: 851


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 31.05.16 20:20 
Ein Sql Server ist eine Anwendung die du wie jede andere Anwendung installierst. Downloadbar bei Microsoft.

Zitat:
Die SQL Datei sagt wie die Datenbank aussehen soll und die 2 Datenbankfiles beinhalten die Daten der Datenbank.


Ich vermute ganz schwer das die Sql Datei überflüssig ist. Das wäre so als würdest du Sourcecodedateien (*.cs) mit der Anwendung ausliefern. Entweder du lieferst die sql Dateien mit um vor Ort eine neue Datenbank zu erzeugen (die mdf) oder du lieferst gleich die mdf mit um sie in einen SqlServer einzuhängen aber nicht beides.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 59

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 01.06.16 07:20 
Hallo user profile iconCsharp-programmierer,

wenn du mit Datenbanken Arbeitest, dann ist das im Grunde so, als ob du ein eigenständiges Programm verwendest, dass darauf spezialisiert ist, deine Daten, besonders schnell, organisier, durchsuchbar oder sonst wie Toll zu speichern. Dieses andere Programm, das Datenbank Management System (DBMS) musst du mit ausliefern. Dabei gibt es von DBMS die einfach nur in einer DLL laufen bis zu komplexen Client-Server Systemen alles, übrigens auch mit den Unterschiedlichsten Lizenzen, die dich als Nutzer eventuell zu diesem oder jenen Verpflichten.

Mit dem MS-SQL-Server (Express) hast du dich für ein eher großes System entschieden, welches eine Installation voraussetzt. Wenn ich mich recht erinnere war das ein recht einfaches Setup (ich habe nie eine ernsthafte Anwendung gegen dem MS-SQL Server programmiert), somit muss dieses vor dem Start deines Programms durchgelaufen sein. Hättest du dich z.B. für SQLite entschieden so müsstest du nur eine DLL mitliefern, das System würde aber z. B. weniger gut funktionieren, wenn mehrere Clients gleichzeitig auf deine Datenbank zugreifen wollen. Was du verwendest ist also sehr abhängig von dem Einsatzszenario deiner Anwendung, jedes DBMS hat seine eigenen Stärken und Schwächen.

Wenn du also eine Datenbank-Anwendung schreibst besteht dein Programm aus mindestens 3 Komponenten 1. Deinem Programm, 2. dem DBMS und 3. Deiner Darenbank/Tabellenstruktur.

Gruß,
Klabautermann
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 01.06.16 16:26 
Zitat:
Ein Sql Server ist eine Anwendung die du wie jede andere Anwendung installierst. Downloadbar bei Microsoft.

Ist die Version egal? Dann würde ich diese nehmen:

Muss man den Server richtig auf dem PC installieren, oder reicht es, alle Dateien von diesem Download mit in den ZIP zu packen?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2006
Erhaltene Danke: 366

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mi 01.06.16 17:08 
Ein wenig Eigen-Recherche hätte schon gereicht: hier
Zitat:
Nutzen Sie das gleiche leistungsfähige Datenbankmodul in einer Version, die für Weiterverteilung und Einbettung optimiert ist. SQL Server Express beinhaltet 10 GB Speicher pro Datenbank sowie praktische Sicherungs- und Wiederherstellungsfunktionen über Microsoft Azure und ist kompatibel mit allen Editionen von SQL Server und der Microsoft Azure-SQL-Datenbank. So können Sie sich unbesorgt auf die Entwicklung und Bereitstellung konzentrieren.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4263
Erhaltene Danke: 851


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 01.06.16 19:49 
Zitat:
Ist die Version egal?

Es ist ein eigenes Stück Software die ihre eigenen Systemanforderungen mitbringt. Du solltest vor einem Projekt Wissen auf welchen Betriebssystemen das denn nachher mindestens laufen soll.
Ich würde einfach die aktuellste Version vom Sql Server nehmen und nur wenn die Systemanforderungen nicht passen was älteres aussuchen. Z.b. wenn du die Anforderung hast das dein Programm noch unter XP/Vista laufen muss.
Zitat:
Muss man den Server richtig auf dem PC installieren, oder reicht es, alle Dateien von diesem Download mit in den ZIP zu packen?

Wir reden von etwas das schon ~Server~ im Namen trägt. Also nein es ist nichts was man einfach irgendwo dabei packen kann. Es muss schon richtig irgendwo installiert werden. Letztlich steckt dahinter ein Windows-Dienst.

Später wenn du das mal gemacht und verstanden hast kannst du dir den Sql Server LocalDB anschauen ob dir das hilft. Der ist etwas leichtgewichtiger als wenn man das volle Paket nimmt. Aber es ist immer noch ein eigener msi Installer. Mit einem guten MSI Setup Builder Tool das du zum erstellen deines Installers benutzt sollte man den aber mit integrieren können. Ich vermute aber mal das das für dich nicht das richtige ist. Wie der NAme schon andeutet ist das für den lokalen Fall gedacht. Für ein Mehrbenutzersystem an dem mehrere Leute an verschiedenen Rechner gleichzeitig arbeiten wollen ist es mehr als empfehlenswert ein Datenbank Server auf einem expliziten System zu installieren zu dem sich alle Benutzer verbinden.
Das ist also eine eigene Installation nur für den Server, potentiell auf einem anderen Rechner, eher unabhängig von der Installation deiner Anwendung.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Di 07.06.16 17:48 
Okay. Ich habe mir mal den ersten Link angesehen. Ich weiß nicht, welche Dateien davon man wirklich braucht, damit
1) die Anwendung (mit SQL Datenbankserver) auch auf dem Userpc läuft
2) die Daten von PC A auf PC B übertragen werden.

Ich kenne meinen Kumpel und wenn ich ihm sage, dass der Download (alle Dateien) 6,1 GB groß ist, wird er es wahrscheinlich nicht zulassen (wegen Speicherkapazität von der Festplatte). Also welche Dateien davon sind wirklich notwendig?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4263
Erhaltene Danke: 851


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 07.06.16 20:43 
Zitat:
1) die Anwendung (mit SQL Datenbankserver) auch auf dem Userpc läuft


Der Sql Server ist erstmal eine andere Anwendung. Näherungsweise solltest du dir Vorstellen das der nicht auf einem Userpc läuft sondern woanders. Zumindest solltest du davon nur einen brauchen gegen den dann alle Userpcs arbeiten. Die Verbinden sich alle zur gleichen Datenbank. Wenn dieser eine Sql Server zufällig auf einem PC läuft wo auch deine Anwendung läuft solltest du das also genau als das betrachten ... einen Zufall.

Du solltest dich nicht fragen welche Dateien vom Sql Server du brauchst. Du brauchst den ganzen Installer mit allen Dateien. Der Installer ist nicht Teil deiner Anwendung damit man denn auch z.B. an einem Ort installieren kann auf dem deine Anwendung nicht installiert ist sondern der explizit als Server gedacht ist. Eine Datenbank gehört nur dann zu deiner Anwendung wenn das explizit eine Einzelplatz Anwendung ist an der nur ein Anwender allein mit diesen Daten arbeitet. Aber wenn ich dich verstehe willst du die Daten mit mehreren Anwendern an eigenen Arbeitsplätzen teilen. Dafür brauchst du einen zentralen Punkt an dem alle Daten zusammenlaufen. Diese Stelle nennt man üblicherweise Server und da gehört dein Sql Server hin.

Zitat:
2) die Daten von PC A auf PC B übertragen werden.


Wenn PC A und PC B dem entspricht was du Userpc genannt hast tauschen die direkt keine Daten aus. Beide speichern ihre Daten in der einen Datenbank die auf dem Rechner liegt auf dem der Sql Server installiert ist und vom Sql Server verwaltet wird. Lokal speichert keiner der beiden Daten beide schauen nur in die gemeinsame Datenbank und ~sehen~ was der jeweils andere gemacht hat.

Zitat:
Ich kenne meinen Kumpel und wenn ich ihm sage, dass der Download (alle Dateien) 6,1 GB groß ist, wird er es wahrscheinlich nicht zulassen (wegen Speicherkapazität von der Festplatte). Also welche Dateien davon sind wirklich notwendig?


Wenn du zum Beispiel Office installierst oder eine Spiel überlegst du vor dem installieren(oder danach) welche Dateien davon du wirklich brauchst? Schaust du in die Ordner dieser Programme und fängst an alles zu entsorgen von dem du denkst das wäre nur Ballast udn braucht man nicht? Nein du installierst diese Anwendungen und benutzt die so. Das solltest du auch mit dem Sql Server machen.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Sa 18.06.16 11:58 
Okay, also ich habe es jetzt (endlich) geschafft, den SQL Server von Ralf Jansen zu installieren. Durch mein Praktikum kann ich jetzt auch ein paar SQL Querys schreiben und weiß auch, was sie bedeuten. Ich versuche durch diese Methode an die Datenbank heranzukommen:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
public DataTable OpenQuery(string ConnectionString, string Query)
        {
            OdbcConnection connection = new OdbcConnection(ConnectionString);
            connection.Open();

            OdbcCommand command = new OdbcCommand(Query, connection);
            OdbcDataReader dataReader = command.ExecuteReader();

            DataTable resultData = new DataTable();
            resultData.Load(dataReader);

            connection.Close();
            command.Dispose();
            connection.Dispose();
            return resultData;
        }


Jetzt habe ich das Problem, dass ich nicht weiß, wie man den ConnectionString schreibt. Dieser funktioniert auf jeden Fall nicht :(
Wie muss nun also so ein ConnectionString heißen?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
private void button1_Click(object sender, EventArgs e)
        {
            string ConnectionString = "Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)";
            string Query = "SELECT *" + 
                   "FROM Mitarbeiter" +
                   "ORDER BY Nachname";

            OpenQuery(ConnectionString, Query);
        }

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.