2017-04-14 6 views
2

(I ein SQL-Noob bin und ich kann das einfach nicht herausfinden auf meinem eigenen)zu SQL-Datenbank verbindet

Seit einiger Zeit versucht habe, die ich in Codenamen einen eine Verbindung zu einer SQL-Datenbank aufzubauen, sondern zu kein Erfolg. Zuerst habe ich versucht, eine Verbindung zu einer MariaDB-Datenbank von one.com herzustellen. Alles, was für die Verbindung erforderlich ist

Database db = Display.getInstance().openOrCreate("databaseName"); 

wenn ich mich nicht täusche, aber ich vermute, dass dies bedeutet, dass ich irgendwie etabliert bereits eine Verbindung zur Datenbank her. Dies ist jedoch nicht der Fall, also erstellt es eine neue .sql-Datei, oder? Ich kann mich erinnern, dass Sie eine Verbindung zu einer Datenbank auf der Registerkarte Dienste in Netbeans herstellen können. Ich habe den MySQL (Connector/J Driver) gewählt, der mit MariaDB funktionieren sollte, oder sollte es? Ich gab alle meine Daten ein und ich sage, dass es Verbindung zur Datenbank nicht herstellen kann.

the error i get

Also dachte ich, ich auch versuchen, localhost verwenden könnte. Ich benutzte XAMPP, um eine Datenbank zu hosten und verbunden in der Netbeans-Services-Registerkarte.

connected?

Nun testet benötigt, um zu sehen, ob das funktioniert. Ich startete die SQL-Reise mit dieser https://www.codenameone.com/manual/files-storage-networking.html#_sql und integrierte den Teil nach "Sie können diesen Code wahrscheinlich als Debugging-Tool in Ihre App integrieren". Ich habe den Datenbanknamen in "mybase" geändert (seine Existenz kann in Bild 2 bestätigt werden). Lief die App, öffnete den Dialog, gab "ID von Kunden auswählen" ein und bekam: java.sql.SQLException: [SQLITE_ERROR] SQL Fehler oder fehlende Datenbank (keine solche Tabelle: Kunden) Es kommt nicht über den ersten Aufruf von "executeQuery" hinaus ". Die Kunden-Tabelle existiert definitiv, also was fehlt mir, um eine Verbindung herzustellen?

Ich brauche wirklich Anweisungen zur Verbindung mit der Localhost-Datenbank und im Idealfall auch zu der von meinem Webhost-Provider gehostet.

Danke, Jona

Antwort

2

Die Datenbank-Klasse ist die SQLite-DB auf dem mobilen Gerät zuzugreifen. Um eine Verbindung zu externen Datenbanken herzustellen, müssen Sie etwas anderes tun, wie zum Beispiel eine ConnectionRequest oder Socket.

+0

Pflege um @ James H zu erarbeiten? – Boggartfly

+1

Siehe [this] (https://www.codenameone.com/blog/connecting-to-a-mysql-database.html) & [this] (https://www.codenameone.com/blog/connecting-to -a-mysql-database-part-2.html) beim Herstellen einer Verbindung zu einer fernen Datenbank. Als James darauf hinwies, dass sich Database mit der SQLite-Datenbank verbindet, die in das Gerät integriert ist, können Sie keine direkte Verbindung zu entfernten Datenbanken herstellen, da die Netzwerkverbindung flockig ist und es ein großes Sicherheitsproblem ist, so etwas zu tun. Die obigen Artikel zeigen eine Möglichkeit, dies zu implementieren –