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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

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

  1. #11
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das läuft alles auf einem Rechner. Habe mir neben WinCC flexible das Paket XAMPP 1.7.1 (von Apache) installiert. Das enthält den Webserver, PHP, MYSQL und phpmyAdmin. Ich kann also alles nachverfolgen, über phpmyAdmin, was in der Datenbank gerade los ist, so dass ich immer auf dem aktuellsten Stand bin, was die von mir veränderte Datenbank (über WinCC) angeht.
    Wie schon gesagt, es müsste eigentlich funktionieren.

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

    Standard

    Code:
    schreib = "load data infile " + pfad & "into table " + tabelle
    Kann es sein, dass vielleicht nach 'pfad & "' anstatt dem i zuerst ein Leerzeichen kommen sollte?

    [EDIT]
    Könntest dir wenn Flexible nichts macht auch eine kleine Anzeige machen, die letzte SQL-Anfrage zeigt:

    Zuerst in der Variablenliste ein interne Variable anlegen vom Typ String.
    Dann ein Ausgabefeld auf dein Bedienpult, das den Inhalt von der Stringvariable anzeigt
    Und zu guter letzt das noch in dem Script einbinden:

    Code:
    conn.Open datenquel
    schreib = "load data infile " + pfad & " into table " + tabelle
    SmartTags("neueStringVariable") = schreib
    Set rst = conn.Execute(schreib)
    conn.close
    Dann siehst du gleich was da schiefgelaufen ist oder kannst es zumindest nachvollziehen indem du das dann in phpMyAdmin kopierst und dir das dann eine Fehlermeldung ausgibt!
    [/EDIT]
    Geändert von Human (09.06.2009 um 16:57 Uhr)

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

    BMW (10.06.2009)

  4. #13
    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

    Dank deiner Tipps funktioniert es jetzt endlich , erstmal ein fettes Dankeschön.
    Was habe ich gemacht. Habe deinen Vorschlag mit der Variable vom Typ String angewandt. Habe dadurch gesehen, das ein Leerzeichen vor into table erforderlich war (hattest du auch schon erwähnt). Dann sah ich außerdem das es ein Fehler bei der Pfadangabe gab.

    pfad = "C:/mit.txt" -> deklaration der Variablen -> beim Verwenden der Variablen wurde dann ja nur C:/mit.txt eingesetzt. Gefordert wird aber "C:/mit.txt" oder 'C:/mit.txt'. -> habe dann folgendes geschrieben:
    pfad = "'C:/mit.txt'" (Anführungszeichen(") gefolgt von einem Hochstrich(')+pfad+Hochstrich(') gefolgt von Anführungszeichen("))
    Was aber nicht geht ist so etwas: ""C:/mit.txt"" (doppelte Anführungszeichen), da auf den Inhalt zwischen den Anführungszeichen geschaut wird und der hierbei leer ist -> C:/mit.txt wird dann als unbekannt ausgewiesen.

    Hier abschließend nochmal der aktuelle Quelltext:

    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
    SmartTags("test") = schreib
    Set rst = conn.Execute(schreib)
    conn.close

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

    Standard

    Hab da noch zwei kleine Kleinigkeiten:

    Code:
    pfad = "'C:/mit.txt'" 
    ...
    schreib = "load data infile " + pfad & " into table " + tabelle
    Bei Pfadangaben wird unter Windows normalerweise ein Backslash genommen und warum schreibst du die Hochkommas in deine Variable hinein, das musst du falls du das mal dynamisch machst jedes Mal auf's Neue hineinschreiben, warum nicht dort hin wo sie hingehören?

    Code:
    pfad = "C:\mit.txt" 
    ...
    schreib = "load data infile '" + pfad & "' into table " + tabelle

  6. #15
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bemerkungen zu den Kleinigkeiten.

    Es stimmt das für die Pfadangabe bei Windows ein Backslash verwendet wird, doch bei MYSQL muss es ein Slash sein (ist von MysYSQL so vorgegeben, funktioniert mit Backslash nicht).

    An das dynamische hatte ich noch nicht gedacht. Ich war erstmal froh, dass es funktioniert. Werde es jetzt aber dynamisch machen.
    Nochmals vielen Dank für deine Hilfe.

Ä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
  •