WinFuture-Forum.de: Visual Basic mit phpmyadmin verbinden - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 3 Seiten +
  • 1
  • 2
  • 3

Visual Basic mit phpmyadmin verbinden

#16 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 30. August 2018 - 20:13

Nutze doch mal den code Tag <> im Editor, dann geht die Formatierung auch nicht verloren.^^

Btw. Lösung in meinem vorherigen Post als Edit.

Dieser Beitrag wurde von Gispelmob bearbeitet: 30. August 2018 - 20:14

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

Anzeige



#17 Mitglied ist offline   CaNNoN 

  • Gruppe: aktive Mitglieder
  • Beiträge: 484
  • Beigetreten: 16. November 05
  • Reputation: 78

geschrieben 30. August 2018 - 21:23

Beitrag anzeigenZitat (Typhoon76: 30. August 2018 - 16:58)

Funktioniert leider auch nicht. :-(

Eingefügtes Bild


dieses tool das du da zum verbinden verwendest sieht mir eher nach microsofts client aus - der funktioniert meines wissens nach nur fuer den microsoft sql server, bei dir laeuft aber mysql - das sind 2 paar schuhe.
0

#18 Mitglied ist offline   Typhoon76 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 29. August 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Lustenau

geschrieben 31. August 2018 - 08:45

Beitrag anzeigenZitat (Gispelmob: 30. August 2018 - 17:50)


Edit2:
1. MySQL for Visualstudio installieren
2. MySQL Connector installieren
3. Projekt/Verweis hinzufügen/Assemblys/Erweiterungen/MySql.Data
4. Projekt/Modul hinzufügen/Allgemeine Elemente/Modul/MySqlCon.vb (Name selbst eingeben)



Hallo Gispelmob

Danke, werde ich probieren.

Puh!!! Wenn ich gewusst hätte, dass das so kompliziert ist.......
Vielleicht schreibe ich meine Tank-Daten weiter in mein Excel Blatt. ;-)

Gruß Gebhard
0

#19 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 31. August 2018 - 09:23

Das ist so bei VStudio 2017. Bei 2010 kann es anders sein. Warum nutzt du denn so eine alte Version?
AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#20 Mitglied ist offline   Typhoon76 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 29. August 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Lustenau

geschrieben 31. August 2018 - 11:09

Na ja, da war eine CD im Buch " C++ für Anfänger " dabei. ;-) das ich vor Jahren gekauft habe und jetzt wieder entdeckt habe. ;-)
0

#21 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 31. August 2018 - 12:52

VStudio 2017 Community gibt es auch kostenlos.^^
AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#22 Mitglied ist offline   Typhoon76 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 29. August 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Lustenau

geschrieben 31. August 2018 - 15:57

Beitrag anzeigenZitat (Gispelmob: 30. August 2018 - 17:50)

Der Server ist also erreichbar, lehnt aber die Verbindung ab. Wenn ich die angelegten Accounts richtig lese, sind alle auf localhost beschränkt bis auf den mit home-center.

Kannst du mal den Sourcecode als Code einfügen und nicht als Bild? Copy & Paste vom Source machen und dann hier in ein code Tag einfügen. Oder die Form1.vb als Datei hier anhängen.

Edit: Also in VStudio 2017 muss man den MySQL Connector sowie MySQL for Visualstudio installieren. Dann kann man in einem Projekt unter Ansicht/Server-Explorer direkt eine MySQL Datenbank aufbauen. Der Verbindungstest klappt dann auch.

Edit2:
1. MySQL for Visualstudio installieren
2. MySQL Connector installieren
3. Projekt/Verweis hinzufügen/Assemblys/Erweiterungen/MySql.Data
4. Projekt/Modul hinzufügen/Allgemeine Elemente/Modul/MySqlCon.vb (Name selbst eingeben)

Form1.vb
Spoiler


MySqlCon.vb
Spoiler


Was fehlt ist die Prüfung ob der User bereits in der Datenbank existiert. Desweiteren ob überbaupt etwas eingegeben wurde. Code ist aus dem Internet und an VStudio 2017 angepasst. Könnte sein dass er genauso in 2010 nicht funktioniert.

Hallo Gispelmob
Ich habe VB Studio2017 lt. Anweisung installiert. Hat alles gut funktioniert und das Programm läuft.Habe Deinen Code eingefügt und angepasst.
Hier das Ergebniss:
Eingefügtes Bild


Eingefügtes Bild
Gruß Gebhard
0

#23 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 31. August 2018 - 16:59

Die Frage ist was hast du angepasst? Btw. bei Punkt 3 ist zu beachten, dass man dort nicht nur MySql.Data auswählen, sondern auch den Haken davor setzen muss. Sonst wird es nicht eingefügt.

Leg doch mal einen User direkt dafür an, der nicht root heisst. Mittlerweile hast du ja 4x root als User definiert. Als Name empfielt sich der Name des Programms. Dann weißt du später wo das hingehört. Dem User gibts du nur Zugriff auf die Datenbank Tankmanager und als Rechte reicht SELECT, INSERT, UPDATE, DELETE.

Dieser Beitrag wurde von Gispelmob bearbeitet: 31. August 2018 - 17:09

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#24 Mitglied ist offline   Typhoon76 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 29. August 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Lustenau

geschrieben 31. August 2018 - 17:31

Beitrag anzeigenZitat (Gispelmob: 31. August 2018 - 16:59)

Die Frage ist was hast du angepasst? Btw. bei Punkt 3 ist zu beachten, dass man dort nicht nur MySql.Data auswählen, sondern auch den Haken davor setzen muss. Sonst wird es nicht eingefügt.

Leg doch mal einen User direkt dafür an, der nicht root heisst. Mittlerweile hast du ja 4x root als User definiert. Als Name empfielt sich der Name des Programms. Dann weißt du später wo das hingehört. Dem User gibts du nur Zugriff auf die Datenbank Tankmanager und als Rechte reicht SELECT, INSERT, UPDATE, DELETE.


Punkt 3 (Projekt/Verweis hinzufügen/Assemblys/Erweiterungen/MySql.Data) ist nicht auswählbar.
Ich muss mit Durchsuchen die Datei Händisch auswählen. Diese Datei habe ich in den Projektordner kopiert.
User ist angelegt.

Eingefügtes Bild


Hat auch leider nichts gebracht.
Was etwas anders ist, ist das wenn ich anstatt Port 3306 Port 7082 eingebe, braucht das Programm ca. 30 sek. bis die Fehlermeldung kommt. Mit Port 3306 ist die Meldung nach 1 sek. da.

Hier mein Code:
Imports MySql
Imports MySql.Data
Imports MySql.Data.MySqlClient

Module MySqlCon
	Public con As New MySqlConnection

	Public Sub ConnectDatabase()

    	Try
        	If con.State = ConnectionState.Closed Then

            	con.ConnectionString = "SERVER=10.0.0.3; Port=7082; DATABASE=TankManager; USER ID=TankManager; PASSWORD=dbuser; CHARSET=utf8;"

            	con.Open()

        	End If

    	Catch myerror As Exception

        	MessageBox.Show("Error Connecting to the database", "Error Database Server",
                        	MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        	End

    	End Try

	End Sub

	Public Sub DisconnectDatabase()

    	Try

        	con.Close()

    	Catch myerror As MySql.Data.MySqlClient.MySqlException

    	End Try

	End Sub

End Module


Dieser Beitrag wurde von Typhoon76 bearbeitet: 31. August 2018 - 17:33

0

#25 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 31. August 2018 - 18:26

Beitrag anzeigenZitat (Typhoon76: 31. August 2018 - 17:31)

Punkt 3 (Projekt/Verweis hinzufügen/Assemblys/Erweiterungen/MySql.Data) ist nicht auswählbar.

Weil? Das wird angeklickt und dann davor der Haken reingemacht und dann OK geklickt. Wenn es dort nicht zu finden ist, dann stimmt Punkt 1 und Punkt 2 nicht.

Beitrag anzeigenZitat (Typhoon76: 31. August 2018 - 17:31)

Mit Port 3306 ist die Meldung nach 1 sek. da.
Dann ist es der richtige Port des Servers.

MySql.Data muss erstmal in das Projekt eingebunden werden. Erst wenn die roten Linien unter
Imports MySql
Imports MySql.Data
Imports MySql.Data.MySqlClient
weg sind, wird das richtig erkannt..

Versuch auch mal den Datenbanknamen klein zu schreiben. Bei mir wird der Name immer in Kleinbuchstaben angelegt, egal ob ich große eingebe oder nicht. Eventuell schaust du mal wie der genau geschrieben wird in phpmyAdmin.

Edit: Ich hab

MySql for Visual Studio 1.2.8
MySql Connector 6.10.8

installiert.

Dieser Beitrag wurde von Gispelmob bearbeitet: 31. August 2018 - 19:48

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#26 Mitglied ist offline   Typhoon76 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 29. August 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Lustenau

geschrieben 31. August 2018 - 20:44

Eingefügtes Bild
Ich habe alles richtig gemacht.
MySql for Visual Studio 1.2.8 >>> installiert
MySql Connector 6.10.8 >>> installiert

db-Name klein geschrieben und rechte vergeben.
keine roten Linien im Code.Port 3306, 7082, 443, 80 >>> keine Verbindung.
Warum kann ich mich mit '10.0.0.3:7082' bei phpMyAdmin anmelden bekomme aber keine Verbindung zur DB her aus VB?
Ich glaube das ich das Projekt "TankManager" in eine DB zu schreiben schließen sollte.
Ist doch etwas für Profis.
Gruß Gebhard
0

#27 Mitglied ist offline   Sturmovik 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.776
  • Beigetreten: 10. Januar 08
  • Reputation: 445
  • Geschlecht:unbekannt
  • Wohnort:In Reichweite der Kaffeemaschine
  • Interessen:IT, Luftfahrt, historische Technik

geschrieben 31. August 2018 - 21:53

Beitrag anzeigenZitat (Typhoon76: 31. August 2018 - 20:44)

Port 3306, 7082, 443, 80 >>> keine Verbindung.
Warum kann ich mich mit '10.0.0.3:7082' bei phpMyAdmin anmelden bekomme aber keine Verbindung zur DB her aus VB?

Weil phpMyAdmin NICHT die Datenbank ist, sondern nur ein Webfrontend, mit der man die Datenbank bearbeiten kann.

MySQL ist das Datenbanksystem. Wie andere schon schrieben, hoert MySQL standardmaessig auf Port 3306, das kann man aber anpassen.
Eine weitere Standardeinstellung ist allerdings, dass MySQL NICHT auf dem externen Netzwerkinterface hoert, sondern nur auf Localhost.
Der Eintrag in der my.cnf dazu ist:
#bind-address     = 127.0.0.1

Diesen muesstest du auf die IP des Netzwerkadapters aendern (oder 0.0.0.0, dann sind alle Netzwerkinterfaces erlaubt) und natuerlich die Raute (#) am Anfang entfernen, damit der Eintrag ueberhaupt wirksam ist.
Nach einem Neustart von MySQL sollte der Zugriff nun funktionieren, sofern die GRANTs richtig gesetzt sind.

Zitat

Ist doch etwas für Profis.
Gruß Gebhard

Nein. Aber was fuer Leute, die auch mal die Manuals fuer die eingesetzte Software lesen :wink:
«Geschichte wiederholt sich nicht, aber sie reimt sich» (Mark Twain)

Unix won't hold your hand. You wanna shoot your foot, Unix reliably delivers the shot.

True Cloudstorage
0

#28 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 01. September 2018 - 06:52

ja, wenn bind-address auf die Serveradresse festgelegt ist, dann kommt man von außen nicht ran. Ich vermute in einem NAS gehört das zur Sicherheit. Wenn das mit # (Raute) aufgeklammert ist, dann würde man von jeder Adresse aus dem Internet darauf Zugriff haben. Wie man das jetzt sicher löst, dazu hab ich keine wirkliche Idee.
AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#29 Mitglied ist offline   Typhoon76 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 29. August 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Lustenau

geschrieben 01. September 2018 - 14:04

Beitrag anzeigenZitat (Sturmovik: 31. August 2018 - 21:53)

Weil phpMyAdmin NICHT die Datenbank ist, sondern nur ein Webfrontend, mit der man die Datenbank bearbeiten kann.

MySQL ist das Datenbanksystem. Wie andere schon schrieben, hoert MySQL standardmaessig auf Port 3306, das kann man aber anpassen.
Eine weitere Standardeinstellung ist allerdings, dass MySQL NICHT auf dem externen Netzwerkinterface hoert, sondern nur auf Localhost.
Der Eintrag in der my.cnf dazu ist:
#bind-address 	= 127.0.0.1

Diesen muesstest du auf die IP des Netzwerkadapters aendern (oder 0.0.0.0, dann sind alle Netzwerkinterfaces erlaubt) und natuerlich die Raute (#) am Anfang entfernen, damit der Eintrag ueberhaupt wirksam ist.
Nach einem Neustart von MySQL sollte der Zugriff nun funktionieren, sofern die GRANTs richtig gesetzt sind.


Nein. Aber was fuer Leute, die auch mal die Manuals fuer die eingesetzte Software lesen :wink:

Hallo Sturmovik
Ich habe den Eintrag in 'my.cnf' auf bind-adress 0.0.0.0 geändert.
Es hat sich etwas geändert.
Eine andere Fehlermeldung kommt. ;-) Aber es hat sich etwas geändert.
Wobei root@DESKTOP-NOPUO65 der Name von meinem PC ist von dem aus ich auf die NAS sprich Datenbank zugreifen will.

Eingefügtes Bild

Gruß Gebhard
0

#30 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 01. September 2018 - 14:29

Beitrag anzeigenZitat (Typhoon76: 01. September 2018 - 14:04)

Eine andere Fehlermeldung kommt. ;-) Aber es hat sich etwas geändert.

Es kommt mir so vor als ob du immer wieder falsche Daten eingibts. Der Name für den Datenbank user ist nicht root.

Der Server ist 10.0.0.3
Der Serverport ist 3306
Datenbank heisst tankmanager
Der User für diese Datenbank heisst TankManager.

Schau doch mal in phpMyAdmin nach ob das so stimmt. Du kannst nicht in phpMyAdmin den User TankManager nennen und dann im Connectstring tankmanager schreiben.

con.ConnectionString = "SERVER=10.0.0.3; Port=3306; DATABASE=tankmanager; USER ID=TankManager; PASSWORD=dbuser; CHARSET=utf8;"

Wegen mir kannste noch das CHARSET=utf8; wegmachen. Dann wird das Charset des Servers genutzt.

Dieser Beitrag wurde von Gispelmob bearbeitet: 01. September 2018 - 14:50

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

Thema verteilen:


  • 3 Seiten +
  • 1
  • 2
  • 3

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0