Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Über WinCC flexibel 2005 eine Datenbank bei MYSQL erstellen

  1. #1
    Registriert seit
    04.06.2009
    Beiträge
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,
    ich habe folgendes Problem und hoffe auf eure Hilfe.
    Ich soll über VBS Skripte auf einen MYSQL Server zugreifen und dort eine Datenbank erstellen. Ich benutze WinnCC flexible 2005 Standard. Der MYSQl Server ist 5.0. Als Datenquelle habe ich MYSQL ODBC Driver 3.51 angelegt.
    Im MYSQL ODBC Driver 3.51 (in der Datenquelle) sind folgende Werte festgelegt: Server = localhost; User = root; Password = pactec; Port =3306; DataSourceName = WinCCflexible.

    Ich starte das Skript über einen Button.
    Der Inhalt meines Skriptes sieht wie folgt aus:

    On Error Resume Next ' aktiviert die Fehlerbehebung bei Laufzeitfehlern
    Dim dbuser, dbpw, conn, rst, server, port
    Dim strConnectString
    Dim table
    dbuser = "root"
    dbpw = "pactec"
    server = "localhost"
    Set conn = CreateObject("ADODB.Connection") ' Verbindung zur Datenquelle herstellen
    Set rst = CreateObject("ADODB.Recordset") 'Datenbanken oder Tabellen anlegen, verändern oder löschen
    ' Öffnen der Datenquelle über methode "open" der Objektvariablen (hier conn)
    strConnectString = "DRIVER={MySQL ODBC 3.51 Driver};"_
    & "SERVER=" & server & ";"_
    & "UID=" & dbuser & "; PWD=" & dbpw &"; OPTION=3"
    conn.Open strConnectString
    table = "CREATE DATABASE" & db_test
    Set rst = conn.Execute(table)
    conn.Close

    Ich erhalte beim Überprüfen des Skriptes immer eine Fehlermeldung an der Stelle wo steht & db_test. (also beim Erstellen der Datenbank)
    db_test soll der Name der Datenbank sein.
    Was ist an dieser Anweisung fehlerhaft?Steckt noch irgendwo ein Fehler im Skript?
    Zitieren Zitieren Über WinCC flexibel 2005 eine Datenbank bei MYSQL erstellen  

  2. #2
    Registriert seit
    01.03.2007
    Beiträge
    262
    Danke
    26
    Erhielt 33 Danke für 28 Beiträge

    Standard

    Ich würde noch ein Leerzeichen nach DATABASE machen also

    Code:
    table = "CREATE DATABASE " + db_test
    und irgendwo oben noch ein

    Code:
    dim db_test
    und darunter irgendwo

    Code:
    db_test = "Name_der_Datenbank"

  3. Folgender Benutzer sagt Danke zu Human für den nützlichen Beitrag:

    BMW (04.06.2009)

  4. #3
    BMW ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.06.2009
    Beiträge
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die schnelle Antwort. Deine Ideen waren Gold Wert. Das Leerzeichen hinter Create Database ist zwingend erforderlich. Und den Namen der Datenbank dann noch in eine Variable zu schreiben hat zum Erfolg geführt. Danke

  5. #4
    Registriert seit
    22.06.2007
    Ort
    Dresden
    Beiträge
    155
    Danke
    28
    Erhielt 15 Danke für 10 Beiträge

    Standard

    Hallo BMW,

    Da ich mich selbst gerade mit diesem Thema befassen, wollt ich dir mal nen Link zu meinem Beitrag zu dem Thema reinstellen:

    http://www.sps-forum.de/showthread.php?t=27744&page=2

    vieleicht kannst du mich ja auch an deinen Erfahrungen teilhaben lassen und mir was dazu schreiben....

    Ich hätte noch einen ganz interessanten Link vom Siemens-Support für dich, der dir sicher weiterhilft:

    http://support.automation.siemens.co...ubtype= 133000

    Ich wünsche viel erfolg beim DB-Zugriff und hoffe ich konnte auch ein bisschen helfen...

  6. #5
    BMW ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.06.2009
    Beiträge
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Leute ich bins nochmal,

    nachdem ich mitlerweile ein gutes Stück voran gekommen bin, hänge ich nun beim nächsten Problem. Ich möchte eine Textdatei in eine Tabelle einfügen. Wenn ich den Befehl direkt bei MYSQL eingebe wird er auch ausgeführt. Leider aber nicht über WinCC und mein Script.

    Statement bei Mysql: load data infile "C:/mit.txt" into table kollegen;

    Script:

    On Error Resume Next ' aktiviert die Fehlerbehebung bei Laufzeitfehlern
    Dim conn, rst, datenquel, schreib, datei, pfad
    Dim dbuser, dbpw,server, db_test, tabelle

    dbuser = "root"
    dbpw = "pactec"
    server = "localhost"
    db_test = "mitarbeiter" 'Name der Datenbank
    tabelle = "kollegen"
    pfad = "C:/mit.txt"

    Set conn = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.Recordset")

    datenquel = "DRIVER={MySQL ODBC 3.51 Driver};"_
    & "SERVER=" & server & ";"_
    & "DATABASE=" & db_test & ";"_
    & "UID=" & dbuser & "; PWD=" & dbpw &"; OPTION=3"

    conn.Open datenquel
    schreib = "load data infile " + pfad & "into table " + tabelle
    Set rst = conn.Execute(schreib)
    conn.close


    Ich habe schon tausend Sachen ausprobiert, z.B. das Versetzen von Leerzeichen,...
    Ich kann irgendwie keinen Fehler finden.
    Vielen Dank schon mal für eure Hilfe
    Geändert von BMW (09.06.2009 um 10:50 Uhr)

  7. #6
    Registriert seit
    01.03.2007
    Beiträge
    262
    Danke
    26
    Erhielt 33 Danke für 28 Beiträge

    Standard

    Da gibt es ein Tool für MySQL das heißt MySQL-Query Browser (oder phpMyAdmin gäbe es da auch noch brauchst aber einen Webserver mit PHP auf der Maschine).

    Geh doch dort einfach mal hin und schreibe dein Statement OHNE Variablen rein und führe es aus, das gibt dann auch zum Gegensatz zu Flex eine Fehlermeldung heraus.

    Code:
    load data infile C:\mit.txt into table kollegen
    Wenn du das dann mal hast dann kannst du ja mal in Flexible kopieren und deine Variablen einstzen:

    Code:
    schreibe = "load data infile " + pfad + " into table " + tabelle
    Ob der Befehl so funktioniert kann ich dir leider nicht sagen, da ich den ehrlichgesagt nicht kenne!

  8. #7
    BMW ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.06.2009
    Beiträge
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Erstmal vielen Dank,
    ich arbeitet mittlerweile auch schon mit phpmyadmin und dort funktioniert mein Befehl. Wir wollen diese Befehle aber auch über WinnCC und Scripten abdecken, da nicht jeder Zugang zu einem Rechner bekommen soll. Der Bediener soll am OPxxx nur ein Paar Tasten im Display drücken und dann soll das Script ausgeführt werden.
    Ich weiß das ist umständlich und kompliziert, aber es muss machbar sein.

    Habe deine Tipps ausprobiert, das Ergebnis ist das selbe wie vorher, also weiter experimentieren. Trotzdem danke.

  9. #8
    Registriert seit
    01.03.2007
    Beiträge
    262
    Danke
    26
    Erhielt 33 Danke für 28 Beiträge

    Standard

    Ist vielleicht dein Server auf einem anderen Rechner oder ist der lokal auf dem Rechner mit dem Programm?

  10. #9
    BMW ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.06.2009
    Beiträge
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Der Server ist lokal auf meinem Rechner.
    Ich glaube das liegt aber nicht am Server, da alle meine anderen Befehle (Datenbank erstellen, löschen, Tabelle erstellen, löschen, Datensätze updaten) funktionieren/ausgeführt werden, die ich in WinCC flexible schreibe.

  11. #10
    Registriert seit
    01.03.2007
    Beiträge
    262
    Danke
    26
    Erhielt 33 Danke für 28 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich mein nur wegen der Datei, ich neheme mal an, dass der Server die nicht von dem Clientrechner holt sondern vom Serverrechner, aber wenn das das gleiche ist, dann sollte das eigentlich funktionieren!

Ähnliche Themen

  1. Antworten: 14
    Letzter Beitrag: 04.06.2009, 14:37
  2. WinCC Flexible 2005 in MySQL Archivieren
    Von Andreas im Forum HMI
    Antworten: 2
    Letzter Beitrag: 13.01.2009, 15:46
  3. WinCC Flex und MySql Datenbank
    Von Blackforest im Forum HMI
    Antworten: 3
    Letzter Beitrag: 19.12.2008, 22:46
  4. Daten von einem OPC-Server in eine MySQL Datenbank
    Von apfel im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 16.03.2008, 20:21
  5. WinCC flexibel 2005 Archivierung
    Von Kaih im Forum HMI
    Antworten: 4
    Letzter Beitrag: 12.10.2007, 11:28

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •