Dlog_store_MySQL - Was muss ich auf dem SQL Server einstellen?

Begonnen von Rasenmuster, 22. Januar 2014, 11:08:52

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Rasenmuster

Hi Leute,

ich beschäftige mich gerade mit MySQL und meiner Wago SPS. Der Dlog_store_MySQL Baustein zeigt mir schon mal keine Fehler an. Dann nehme ich mal an, das die Verbindung zu meinem MySQL Server klappt. Nur was muss ich da einstellen? Gehe über PHPmyAdmin rein. Ich erhalte dort nämlich keine neue Tabelle, zumindest ist mir das als Laie nicht erkennbar. Soll dann nicht eine oscat_db Datenbank mit der oscat_tb Tabelle erstellt werden?

peewit

Soll dann nicht eine oscat_db Datenbank mit der oscat_tb Tabelle erstellt werden?

ja das wird normalerweise

das setzt aber vorraus das du einen user angelegt hast der die notwendigen berechtigungen auch hat
und dieser user muss natürlich am mysql baustein angegeben werden.

wenn kein fehler kommt stellt sich halt auch die frage ob alle rundherum auch richtig gemacht wurde

das beste wäre zum testen wenn du in der network.lib im ordner demo dem dlog mysql demo baustein als basis her nimmst und deine parameter hinzufügst


Rasenmuster

den Demo Baustein hab ich auch als Grundgerüst genommen.

Als User hab ich einmal den Admin selber (root) und einen selbst erstellten Benutzer getestet bzw. mit in die url des Bausteins geschrieben.

Aber grundsätzlich muss ich nur einen User mit bestimmten Berechtigungen beim MySQL Server anlegen, der rest geschieht dann im SPS Programm?

peewit

ja nur user anlegen mit berechitgungen und datenbank und tabelle werden angelegt wenn diese nicht vorhanden sind !

Rasenmuster

sehr gut, danke =)

nachdem ich jetzt mal auf mein Hosting Anbieter einen MySQL Server eingerichtet habe und die Benutzerdaten angeben habe, bekomme ich folgendes als Fehler:
error_c=10
error_t=5

Benötige ich jetzt sowas die DNS? oder wo kann ich es erkennen, wodran es aktuell scheitert?

peewit

der fehler besagt einen ablauffehler in schritt 10 beim versuch die DNS-Adresse aufzulösen


das hört sich eventuell nach einen alten schon bereingten fehler an

hast du die allerletzte version in verwendung -> siehe link
http://www.oscat.de/community/index.php/topic,1872.msg9862.html#msg9862

versionprüfen bzw. updaten  und nochmals testen bzw die dns parameter prüfen

Rasenmuster

im Anhang mal meine Bibliothek. Sieht eigentlich recht aktuell aus…

Die DNS Parameter hab ich von google genommen: 8.8.8.8

[gelöscht durch Administrator]

peewit

#7
hi

so wie es aussieht habe ich zwar für einen forumsbeitrag den dns fehler schon gepatched aber noch nicht online upgedated
die dns mysql fehler habe ich nähmlich laut meinen aufzeichnungen erst im oktober 2013 gepatched


benutzw die gerade nun aktualisierten bibliotheken (siehe link) dann wird es ziemlich sicher besser laufen ....

http://www.oscat.de/community/index.php/topic,1872.msg9862.html#msg9862

Rasenmuster

okay, hab die neue Bibliothek reingeladen. jetzt kommt folgender Fehler:

error_c: 1045
error_t: 3


peewit

#9
hi

eine gute und eine schlechte nachricht

die gute ist das ich das dns problem damit behoben habe
die schlechte ist das du nun ein anderes problem hast, das aber kein schlimmes sein sollte

error_c: 1045
error_t: 3

das ist ein fehler der schon direkt vom mysql server zurück kommt und sowas wie "keine zugriffserlaubnis" bedeutet

das musst du aber nun selber lösen indem du dich ein wenig in mysql einliest und nach fehlercode 1045 suchst
und mögliche ursachen und lösungswege durch gehst.

eventuell liegt es daran das bei dem user bei "host" nur für "lokalhost" bzw "127.0.0.1" eingetragen ist
man kann bei jeden angelegten user auch noch den "host" mit angegeben, also von wo dieser zugreifen darf
hier könnte es sein das ein "%" bei host schon einen erfolg bringt

die bibliothek kann auch nur eine Kommunikation mit einem MySQL-Server >= v4.1 und Protokoll 10 herstellen
prüfe auch mal deine mysql server version

der baustein DLOG_STORE_MYSQL gibt auch ein SQL_INFO Datenstruktur mit infos aus
darin befindet sich auch ein SQL_ERROR string
Hier sollte der fehlercode als text hinterlegt sein !

hier findest einen hinweis auf den fehlercode 1045
http://dev.mysql.com/doc/refman/5.1/de/error-messages-server.html


.....mühsam ernährt sich das eichhörnchen....

Rasenmuster

yeah cool danke =) mein Username war falsch. wusste gar nicht dass ein Username so heißen kann:  <user>@localhost

anscheinend brauch ich dich nochmal =( Nun kommt folgendes:
error_c = 3
error_t = 1

Danke für den mysql_info Tipp. Da steht bei diesem Fehlercode nichts drin. Dann geh ich mal davon aus, das der MySQL Server jetzt richtig arbeitet aber am Programm noch ein Fehler ist?

peewit

error_t = 1    -> fehler kommt vom DNS_CLIENT
error_t = 2    -> fehler mysql datenverbindung
error_t = 3    -> fehler mysql kommando
error_t = 5    -> fehler ablaufkette - timeout

dein fehler:
error_t = 1  = dns_client

error_c  = 3
Fehlerbeschreibung:

Name Error: Meaningful only for responses from an authoritative
name server, this code signifies that the domain name referenced in
the query does not exist

anscheinend kann der dns-server den namen nicht korrekt auflösen

Rasenmuster

beim Wechsel der DNS Adresse erhalte ich nun auch
error_c = 10
error_t = 5

Kann es evt. auch an meinem O2 Router liegen, dass dieser spinnt? Ich höre nicht gerade das beste über diesen hier in einigen Foren =( (o2 Box 6431 VDSL)

peewit

das ist doch die gleiche fehlermeldung wie ganz am anfang

mein verdacht liegt hierbei das du nicht die korrigierte version benutzt !

prüfe nochmals deine bibliothken und bausteine


Rasenmuster

kannst du mir netterweise mal ein minimalprojekt mit MySQL mit funktionsfähiger Bibliothek als zip mal versenden? Wäre super klasse.

Hab mir mal selbst eins angelegt, nur mit nem MySQL Baustein und
oscat_basic_333.lib
codesys_network_130.lib
Ergebnis:
error_c = 65280
error_t = 1