SQL-Server in Visual C++?
-
Ich habe ganz frisch ANSI C gelernt und erstelle und compiliere meine Programme alle mit Visual C++ Express.
Nun möchte ich nachdem ich die Grundsätze beherrsche eigene Datenbanken einbinden und nutzen. Ist der eingebundene Datenbankexplorer, der mir solche Funktionen anbietet, ein Teil der Visual C++ IDE, oder greift der wiederum auf sql-server zurrück? (Ich habe 9 Programme installiert, die SQL im Nemen beinhalten. Unter anderem SQL Server Compact.)
Ich kann den SQL-Server aber nicht als separates Programm öffnen!?
Entschuldigung für solch dumme Fragen, aber der Einstieg, bis überhaupt mal ein Grundverständnis für das ganze System da ist, ist wie ich finde ziemlich bitter!
Totaler information-overflow, wie mein Lehrer immer so schön sagt! Kein Ahnung wo ich Fuß fassen soll.
-
Der SQL-Server Compact ist bloss eine Library.
"Der" SQL-Server ist ein Service-Prozess, der z.B. über die Service-Konsole gestartet und beendet werden kann. Wenn SQL-Server installiert wurde, und du danach nichts umgestellt hast, dann sollte der auch laufen.Ansprechen tut man den SQL-Server dann entweder über irgendwelche Programme (ggf. selbstgeschrieben), oder über ein mitgeliefertes Tool wie z.B. das SQL Server Management Studio (Express).
Und ja, der Datenbankexplorer ist Teil von Visual Studio.
Er greift aber natürlich auch auf die Datenbank-Server zu, die er "erforscht".----
Wenn du Datenbanken mit Visual C++ verwenden willst, dann ist IMO der einfachste Weg "ADO" zu verwenden. Das ist eine Sammlung aus ActiveX Komponenten, mit denen du auf verschiedenste Datenbanken (darunter SQL-Server Datenbanken) zugreifen kannst.
Und anlegen/verwalten kannst du deine Datenbanken mit dem SQL Server Management Studio (Express).
-
Danke hustbaer!
Leider verstehe ich den kompletten Themenbereich einfach zu wenig, um die meisten Erklärungen zu verstehen. Aber noch eine konkrete Frage:Der" SQL-Server ist ein Service-Prozess, der z.B. über die Service-Konsole gestartet und beendet werden kann.
Was meinst du damit? Was ist ein Serviceprozess und wo befindet sich die Service-Konsole?
Er greift aber natürlich auch auf die Datenbank-Server zu, die er "erforscht".
Und wenn ich über ihn eine Datenbank erstelle? Welchen Datenbankexplorer nutzt er dann?
-
Ein Datenbankserver läuft wie ein normals Programm, jedoch im "Hintergrund", ist im Prinzip unsichtbar. Eventuell sieht man ihn nur über ein Symbol neben der Uhr (unten rechts). Man sagt auch Datenbankverwaltungssystem (DBVS) dazu, die eigentlichen Daten liegen in einer Datenbank ( als Datei(en) ).
Über dieses DBVS kann der Benutzer (z.B. dein Programm) auf die Daten, z.B. mittels SQL-Befehle zugreifen.
Eigentlich kann man alles über die Programmierung machen, jedoch ist es meist einfacher ein Software-Tool zu benutzen um die Datenbank einzurichten (Tabellen-Strukturen anlegen/ändern usw). Das Tool nutzt im Prinzip auch nur SQL-Befehle.
Um das Programmieren mit Datenbanken zu vereinfachen gibt es fertige Bibliotheken. Eine universelle ist ODBC (sehr alt), modern bzw. heute nutzt man ADO.
Diese Bibliothek hat Datenbank-Klassen, mit der du Verbindung zum DBVS bzw. deiner Datenbank aufnehmen kannst (OPEN) und SQL-Befehle ausführen lassen kannst (EXECUTE).
Gibts aber eine Menge Doku und Samples im Netz.
-
DBVS sagt kein Mensch -> DBMS
-
Heisst in deutsch aber offiziell DBVS und wird auch öfters so verwendet. Bei der Google-Suche sollte man aber besser DBMS nehmen.
Ich wollte es auch nur einfach formulieren, da der Poster ja anscheinend grundsätzliche Verständnisschwierigkeiten bzgl. DB hat.
-
Vielen Dank!

Das sind ANtworten auf meinem Niveau!
Da ist das auch kein Problem, ob es jetz DBMS oder DBMS heisst, auch wenn ich ersteres noch nie gehört habe!
Nun noch eine allerletzte Frage:
Was macht eine Person mit einem von mir programmierten, ein DBMS nutzenden Programm, wenn sie selber auf ihrem PC kein DBMS hat! (z.B. wenn ich SQL-Server einbinde und nutze und sie "nur" mysql oder gar kein DBMS hat)
Ist das Programm dann für sie nutzbar?
-
Ob der Benutzer deines Programms noch was installieren muss hängt von der Realisierung des DBMS ab:
-
DBMS ist in einer DLL die du einfach mit auslieferst (z.B. SQLite bzw andere DBMS haben auch diese Möglichkeit). Dein Programm lädt die DLL und startet das DBMS. Vorteil: keine extra Installation des Servers nötig. Nachteil: Nur für wenige gleichzeitige Benutzer geeignet bzw. Einschränkungen in der Funktionalität.
-
DBMS ist nach dem Server-Client-Prinzip realisiert (ist meist so z.B. SQL Server, MySQL). Der Benutzer muss den DB-Server installieren. Für alle DBMS gibt es sogenannte Runtime-Installer. Diese lieferst du mit aus und musst darauf achten, dass diese mit deinem Prog. mit installiert werden (also in deinen Installer mit einbinden). Z.B. muss der Benutzer deines Programms auch den MS SQL-Server Express installieren (ist kostenlos, ansonsten Lizenzkosten beachten), sonst kann er dein Programm nicht benutzen.
-
-
Thanks!