Frage

Ich bin eine C ++ Anwendung der Erstellung verwendet eine MySQL-Datenbank. Ich würde die Anwendung wie ein Konto für sich selbst zu schaffen, wenn möglich. Ich habe nicht eine Methode zu tun, so gefunden.

Jedesmal, wenn ich meine Anwendung Port, vergesse ich die eingestellte Sequenz. Die aktuelle Satz Sequenz erfordert für die Anwendung ein Konto in MySQL Erstellen zu verwenden. Sobald die Anwendung ein Konto und Privilegien hat, kann es die Datenbank erstellen und die Tabellen einrichten.

Auch wäre dies ein wenig ärgerlich für meine Endbenutzer sein. Meine Anwendung wäre einfacher, zu verwenden, wenn die Anwendung alle der Einrichtung führen kann.

Die Beispiele Ich habe alle Zustand gefunden ein Benutzerkonto in MySQL zu erstellen, bevor die Anwendung ausgeführt wird. Die Richtungen in der Regel sagen, wie das Konto mit der MySQL-Kommandozeilen-Anwendung erstellen. Aber ich möchte, dass meine Anwendung auf eigene Rechnung in MySQL erstellen.

Ich bin mit Visual Studio 2008, C ++ Sprache und die MySQL Connector C ++ 1.0.5. Die Plattform ist Windows XP oder Vista. Der Connector verwendet ähnliche API der Java-JDBC-API. Ich werde Beispiele in Java oder C ++ akzeptieren.

übrigens, ich habe Probleme mit ODBC, so ist es die Frage aus.

Danke.

War es hilfreich?

Lösung

Sie haben ein Huhn oder das Ei-Problem hier . Sie können kein Datenbankkonto erstellen, ohne dass bereits die Kontoanmeldeinformationen, die benötigt, um den Server einloggen und ein anderes Konto für Ihre Anwendung erstellen.

Außerdem ist es sehr häufig für Benutzer Datenbankkontoinformationen zu haben, um während der Zeit der Installation / Setup zu bieten, auch wenn es „ärgerlich“ ist. Wenn Ihre Anwendung auf einer Datenbank basiert, Benutzern erwartet werden sollte, um mit dem Datenbankserver und Credential-Parameter auf eigene Faust zu behandeln.

Der Datenbank-Client (JDBC / ODBC) und Sprache (Java / C ++) ist auf diesem Dilemma irrelevant, leider.

Wenn Sie nur eine leichte interne Datenbank für Ihre Anwendung benötigen, sollten Sie vielleicht die aussehen in SQLite eingebettete Datenbank anstelle von MySQL. Das würde erlauben, Ihre Anwendungsdatenbank autonom zu existieren, ohne dass die Benutzer-Setup.

Andere Tipps

Vielleicht statt der Kontoerstellung in Ihrer Anwendung einschließlich können Sie es in Ihrem Setup enthalten. Als Ihr Setup läuft könnte es auch den Prozess ausführen beschrieben, um ein Konto zu erstellen oder verwenden.

Wenn dies scheint nicht zufrieden stellend, vielleicht Ihre Setup-Anweisungen könnte detailliert die Kontoerstellung.

Sie können erstellen Konto und Tabellen und ... alles aus einer SQL-Abfrage.

Sie zunächst ein Standard-Konto, das über genügend Berechtigungen hat eine neue Benutzer / Tabelle / Datenbank, aber nicht genug, um Privilegien zu schaffen, den Platz abbrennen.

Zweitens, wenn ein Benutzer zum ersten Mal startet die Anwendung, auf der Rückseite Ihre Programmprotokolle in die MySQL-Datenbank beenden, und sendet eine SQL-Abfrage an die MySQL-Datenbank des Benutzer eine neue Benutzer / Tabelle / Datenbank zu erzeugen.

Drittens Ihre Anwendungsprotokolle aus dem Standardkonto, und in das neu erstellte Konto.

Wenn Sie etwas Ähnliches wie dies tun, sollten Sie mögliche Sicherheitsbedenken zu berücksichtigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top