Datenbankanbindung
-
Danke für die vielen Tipps. Ich denke mir nur, dass ich für ein sSpiel keine Multiuserdatenbank benötige oder? Ich sehe Access fast als einfachste Lösung. Oder liege ich da falsch?! Schon nur, das nicht weiter Komponenten für das Spiel inst. Werden müssen.
Werde Morgen gleich mal die super Beispiele ausprobieren. Danke euch erstmals für den tollen Einstieg, den ihr mir ermöglicht habt.Noch etwas zu eurer allgemein Meinung zu Access (aus Datebanksicht ohne Bezug zu C++). Ich finde Access gar nicht so schlecht, wenn man sich das ganze mal etwas tiefer anschaut ist doch recht viel erreichbar. Für kleinere Zwecke ist es doch recht brauchbar (Gui etc. ist ja alles schon vorhanden). Jedoch würde ich Access mit keinem anderem Datenbanksystem vergleichen, denn Access ist und bleibt eine Singeluserdatenbanksystem.
-
-
Dann ist es ja auch ne FileSharing-Datenbank wie Access. Den Vorteil den ich bei Access halt häufig erlebt habe, ist gerade die Anbindungsmöglichkeit durch ADO. Das heisst, dadurch kannst mit jeder COM-fähige Programmiersprache in (fast ;)) gleicher Art Weise mit allen (ADO-)Datenbanken arbeiten. Ob SQLite das auch kann weiss ich nicht !??
-
Nein, SQLite hat nur eine C/C++ Api. Ist dafür halt unter allen Betriebs-
systemen einsetzbar und Open Source.Allerdings gibt es für so ziemlich jede Sprache einen entsprechenden Wrapper.
Darunter sind auch COM Wrappers oder auch z.b. Schnittstellen für Java:http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers
Auch ist SQLite mitleerweile in Version 3 verfügbar, die wohl als absolut
stabil gelten darf. Von der Performance haben wir in Tests sehr gute Ergebnisse
erzielt, die weit über Access hinausgehen. Die Ergebnisse beim Vergleich zu
mySQL hab ich leider nicht mehr im Kopf.Wers braucht, findet auch eine fast komplette Unterstützung des SQL-Standards.
-
Gibts zu SQLite eigentlich auch ein (kostenloses :)) Admin-Tool mit GUI damit zumindest auch mittelschwere DAU's ne Datenbank, Tabellen + Indizes anlegen können.
-
sqlite3::connection con("test.db"); int count=con.executeint32("select count(*) from sqlite_master where name='t_test';");
Sieht ziemlich einfach aus um auf die DB zuzugreifen. Wenn ich mir da die anderen Beispiele ansehe scheint dies wirklich ziemlich komfortabel zu sein.
Jedoch glaube ich nicht, dass dies die geeignete Lösung für (zurzeit noch) ein Singeluserspiel ist.Jedoch möchte ich hier die Diskussion nicht weiterführen welches Datenbanksystem besser ist, denn Access kann man (aus Datenbanksicht) nicht damit Vergleichen. Zudem möchte ich nicht vom Ziel dieses Beitrags abweichen und in eine völlig andere Richtung abschweifen...
-
Hier eine Übersichtsseite:
http://www.sqlite.org/cvstrac/wiki?p=SqliteTools
Das Tool scheint ganz vielversprechend zu sein:
http://sqlitebrowser.sourceforge.net/index.html (habs aber noch nicht getestet)
Und sonst: Ich entwickel in meiner Firma gerade ein Tool, dass wohl die dort
angebotenen weit übertreffen wird - aber das dauert noch
-
Für die letzten Zweifler hier eine Performance-Übersicht. Zum Vergleichen die
nosync Werte ansehen, da bei SQLite 3 dieses standardmäßig aktiviert ist.http://www.sqlite.org/speed.html
Also warum SQLite nicht auch für ein Spiel einsetzen? Die Performace von
Access wirst du wohl um ein vielfaches übertreffen. Auch ist es einfacher
ansprechbar und du wirst im Gegensatz zu Access keine Kompatibiliätsprobleme
haben. Solltest du mal auf Linux portieren wollen, brauchst du bei SQLite nur
neu kompilieren.@pint: Wieso kann man Access und SQLite nicht miteinander vergleichen? Beides
sind File Sharing-Datenbanken. Access-Datenbanken sind halt eng verbunden mit
dem Interface von Microsoft, aber auf das kann ich auch gerne verzichten.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ja aber wenn die Firma mit MS Office arbeitet ist und bleibt Access für kleinere Dinge einfach die schnellste Lösung. Mit einem minimalen Datenbankwissen ist hier auch für ungeübte User einiges möglich. Leider kannst du in grösseren Firmen meist einfach auch nicht anders, da halt MS Access verlangt ist (punkt)
Versteh mich nicht falsch ich bin nicht der Access Befürworter jedoch ist in manchen Fällen Access die einfachste und schnellste Lösung. So genug geredet. Zurück zum eigentlichen Thema...
Werde mir das natürlich auch ansehen. Schlussendlich werde ich wohl die Lösung nehmen, welche ich am schnellsten zum laufen bringe. Hoffe ich komme noch bis vor dem Wochenende dazu. Werde aber euch informieren mit was ich es nun realisiert habe. Bin aber sehr positiv gegenüber Sqlite eingestellt, würde sagen du hast gute Überzeugungsarbeit geleistet (ein Gui wird ja für die Datenbank sowieso nicht benötigt, da dies indirekt das spiel selbst ist )
(Wenn du gerade ein super Beispiel zu sqlite rum liegen hast, post das Ding doch mal.)Ps.: Die ganze Community hier ist echt der Hammer, werde wohl bis auf weiteres in diesem Forum verweilen
-
@pint
nunja, ich verstehe nicht, warum du Access in einem Spiel benutzen willst. Dafür ist doch Access absolut ungeeignet oder wie willst du dem Kunden klar machen, dass es neben dem Spiel sich noch eine MS-Office-Lizenz kaufen soll?Für so etwas ist doch SQLite ideal, weil es ja keine Datenbank im herkömlichen Client/Server Sinne ist, sondern nur eine Library, dh. du linkst sozusagen die Datenbank direkt in deinen Code und der Nutzer merkt davon gar nichts.
-
Die Diskussion ist teilweise etwas abgedriftet, in die allgemeine Ansicht nach welcher die Datenbank beurteilt wird. Ich hab dies meist auch explizit geschrieben, wofür Access brauchbar ist. Was du z.B. in Meinem letzten Thread entnehmen kannst. Ich hatte auf jedenfalls das Gefühl das die Diskussion mehr in die Allgemeine Ansicht der Datenbanksysteme geht und nicht spezifisch auf meine Frage.
Hoffe ich konnte das Missverständnis beheben.Inzwischen bin ich auch daran mich um die Implementation eine SQLITE DB zu kümmern und nicht um eine Access. Leider habe ich jedoch gerade keine Zeit dafür und werde mich frühestens Heute Abend näher damit befassen könnt. Wenn jemand allfällig ein kleines C++ Beispiel zu SQLITE hat soll dies doch posten.
-
am besten von der seite selber
http://www.sqlite.org/c_interface.html
-
guten morgen
habe das getsern abend ausprobiert. jedoch habe ich das ganze mit sqlite3 und visual studio 6 nicht zum fliegen gebracht . habe die lib erstellt und unter den projekteinstellungen mitgegeben. doch iregndwie funkt. das ganze nicht...
hat jemand schon erfahrungen gesamelt mit vs6 und sqlite3 oder hat mir ein tipp?
danke für eure hilfe.
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum Datenbanken verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hast du es verstanden oder nicht?
PS: Danke hast du auch noch nicht gesagt :xmas2: