PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BOS2web und mySQL



Lila-Kuh
01.06.2009, 13:05
Hallo zusammen und erstmal einen schönen Pfingstmontag.

Ich habe ein kleines Problem mit BOS2web.

Hat jemand erfahrung mit dem einspielen der Daten von FMS32pro ind die Datenbank SQL von BOS2web?

Habe keine Lust Fahrzeuge, 5Ton per hand zu übertragen.
Habe was gelesen wo man mit dem E!FMSpro-Editor die Dateien von .DAT in .CSV speichern soll.
Nur leider komme ich mit dem Aufbau der .CSV und der SQL-Datenbank nicht zurecht.

Wäre super wenn mir jemand sagen könnte wie genau ich die Fahrzeuge im CSV umschreiben muss genau wie die 5Ton (ZVEI).

Danke und noch einen sonnigen Feiertag...

...Gruß die Lila-Kuh

Lila-Kuh
02.06.2009, 14:16
kennt sich den jemand mit SQL aus?

Habe jetzt per E!FMSpro die daten (Farzeuge, 5Ton) in format .csv

nur leider bekomme ich eine fehlermeldung.

SQL aufbau


Feld Typ Null Standard Kommentare MIME
kennung varchar(8) Nein 0
rufname varchar(20) Ja NULL
fahrzeug varchar(50) Ja NULL
status_fz int(2) Ja 0
tki varchar(3) Ja NULL
status_lst varchar(2) Ja 0
text text Ja NULL
timestamp timestamp Nein CURRENT_TIMESTAMP
user varchar(30) Ja NULL


Wenn ich jetzt die .csv so aufbaue


"191900XX";"Hummel 7";"Polizeihubschrauber";"2";"";"0";"";"2009-06-02 10:52:42";"";


kommt diese fehlermeldung


Fehler

SQL-Befehl:

INSERT INTO `fms_fz`
VALUES (
'', '19190007', ';', '', 'Hummel 7', ';', '', 'Polizeihubschrauber', ';', '', '2', ';', '', '', ';', '', '0', ';', '', '', ';', '', '2009-06-02 10:52:42', ';', '', ''
)

MySQL meldet: Dokumentation
#1136 - Column count doesn't match value count at row 1


Wenn ich doch 9 Felder in der SQL-Datenbank habe muss ich doch auch 9 Felder in der .csv haben?!

Shinzon
02.06.2009, 14:59
Schon..

Aber: Du überträgst mehr als 9 Felder ..

Die ersten 9 sind: '', '19190007', ';', '', 'Hummel 7', ';', '', 'Polizeihubschrauber', ';'

(Sollte CSV nicht eigentlich als "comma seperated values" auch mit "comma" getrennt
werden, nicht mit "semicolon"?)

Gruss,

Lila-Kuh
02.06.2009, 15:08
komma (,) habe ich versucht..kommt aber "Fehler in Zeile1"

wenn ich die daten per SQL exportiere in CSV schreibt er folgendes:


"69530000";"4-11-12";"tst112";"2";NULL;"15";NULL;"2009-06-02 01:42:00";


wenn ich nun die daten genau so bearbeite wie im export kommt auch ne fehler meldung.

Deswegen stehe ich ja so auf dem schlauch... ;)

Shinzon
02.06.2009, 15:18
Ich auch, weil ich nicht weiss, wie du dein CSV in die SQL-Zeile wandelst.

Nachdem ich den Kundendienst gerufen habe, weil der Fernseher kaputt ist, hat der
mir dazu geraten, die Batterien der Fernbedienung zu wechseln, also hab ich die aus
der Glaskugel genommen..

Gruss,
Tim

Lila-Kuh
02.06.2009, 15:26
ja da haste auch wieder recht :)
Fernwartung per Forum ist immer sehr schlecht...

Shinzon
02.06.2009, 15:27
Naja - entweder du sagst halt, wie du es machst, oder nicht.

DFTT :-P

Lila-Kuh
02.06.2009, 21:19
servus und schonmal danke für deine hilfe.

also wie mache ich das mit der csv und sql.

ich habe mir die fahrzeug.DAt von FMS32pro genommen und diese im E!FMSpro geladen.

Danach tastenkombi STRG+E und schon hatte ich alle fahrzeuge in der Excel datei.

daten kommen dann roh so an:


Rufname Kennung Stat Zeit Info Bemerkung FzgÜbersicht FME1 FME2 FME3 DME1 DME2 DME3 Land Ort Kennung

beispiel:

'Hummel 7 '19191234 '2 '02.06.2009 08:01:56 'Polizeihubschrauber 'PolizeiViersen '9 '19 '1234


Diese Daten werden also im Excel angezeigt. Jeder Datensatz (Rufname, Kennung usw.) in einer neuen Zeile

muss dieses format doch jetzt umschreiben um diese in die SQL

nur jetzt kommt meine frage...WIE?

die SQL-Datenbank hat 9 Felder...wie schreibe ich also die excel daten um das die datenbank sie ohne probs lesen kann.
Muss ich den datensatz für ein fahrzeug nur in eine Zeile schreiben? oder 9 Spalten und in jede zeile daten rein?

Sry..aber bin recht neu in sachen sql und schlag mich grade so durch

felix000
02.06.2009, 22:24
Ich würde die Daten erstmal aus Excel rauskopieren und nicht die Exceldatei mit einem Editor öffnen. Dann kannst du es in einem geeigneten Format - z.B. Semikolon-getrennte Werte in einer CSV-Datei - speichern und dann mit phpMyAdmin importieren.

Lila-Kuh
02.06.2009, 23:02
ich öffne die datei ja nicht mit einem Editor.

Wenn ich halt im Prog E1FMSpro-Editor die ganz normale Fahrzeug.dat (5Ton.DAT) öffne und dann STRG-E drücke startet excel automatisch und schreibt mir halt alles schön säublerlich in eine Tabelle

siehe Bild Fahrzeug.DAT in Excel (http://www.klosterstr32.de/images/basti/Fahrzeug-DAT.jpg)

Diese Daten kann ich jetzt nach herzenslust bearbeiten. Ich kann vor jedem Eintrag statt " oder ; auch , setzten.

auch die Rheienfolge der einträge ändern, kommt aber immer ein SQL fehler beim hochladen.

Bei der 5Ton.DAT hat alles super funktionier. Diese Daten sind einfacher gehalten da nur zwei Spalten. Ich musste alerdings die Umlaute aus den Alarmschleifentext umschreiben. Das hat ein Makro für mich erledgt. Gespeichert im .CSV (Trennzeichen-getrennt) format, phpmyadmin aufgerufen, Datentabelle "zvei_schleifen" (BOS2web) aufgerufen, Importiert (Felder getrennt mit ; / Felder eingeschlossen von ") und schon waren die FMS-ZVEI-Schleifen in der Datenbank

siehe Bild 5Ton.DAT in Excel (http://www.klosterstr32.de/images/basti/5Ton-DAT.jpg)

Es besteht ja auch die Möglichkeit SQL intern eine Import Datei zu erstellen.

Hier z.b. fms_fz.sql


--
-- Tabellenstruktur für Tabelle `fms_fz`
--

CREATE TABLE IF NOT EXISTS `fms_fz` (
`kennung` varchar(8) NOT NULL DEFAULT '0',
`rufname` varchar(20) DEFAULT NULL,
`fahrzeug` varchar(50) DEFAULT NULL,
`status_fz` int(2) DEFAULT '0',
`tki` varchar(3) DEFAULT NULL,
`status_lst` varchar(2) DEFAULT '0',
`text` text,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user` varchar(30) DEFAULT NULL,
PRIMARY KEY (`kennung`),
UNIQUE KEY `kennung` (`kennung`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `fms_fz`
--

INSERT INTO `fms_fz` (`kennung`, `rufname`, `fahrzeug`, `status_fz`, `tki`, `status_lst`, `text`, `timestamp`, `user`) VALUES
('69532222', '4-11-12', 'tst112', 2, NULL, '15', NULL, '2009-06-02 01:42:00',);


Nur leider scheitert mein Wissen mal wieder mit einer Fehlermeldung im SQL, wenn ich diese Daten bearbeitet (Fahrzeuge hinzugefügt so wie im beispiel).

Hoffe ihr versteht mich einigermaßen

Gruß Basti

felix000
02.06.2009, 23:04
Wie wärs mit der Fehlermeldung?

Lila-Kuh
02.06.2009, 23:28
Aufbau excel:


"19190007";"Hummel 7";"Polizeihubschrauber"; "2"; NULL;"15"; NULL;"2009-06-02 10:52:42";

Feld1 Feld2 Feld3 Feld4 Feld5 Feld6 Feld7 Feld8


Fehlermeldung Fahrzeug.csv


Fehler

SQL-Befehl:

INSERT INTO `fms_fz`
VALUES (
'', '19190007', ';', '', 'Hummel 7', ';', '', 'Polizeihubschrauber', ';', '', '2', ';', '', '', ';', '', '0', ';', '', '', ';', '', '2009-06-02 10:52:42', ';', '', ''
)

MySQL meldet: Dokumentation
#1136 - Column count doesn't match value count at row 1


Aufbau sql:



('69532222', '4-11-12', 'tst112', 2, NULL, '15', NULL, '2009-06-02 01:42:00',);

kennung, rufname, fahrzeug, status_fz, tki, status_lst, text, timestamp, user`
Feld1 Feld2 Feld3 Feld4 Feld5 Feld6 Feld7 Feld8 Feld9



Fehlermeldung fms_fz.sql


Fehler

SQL-Befehl:

--
-- Daten für Tabelle `fms_fz`
--
INSERT INTO `fms_fz` ( `kennung` , `rufname` , `fahrzeug` , `status_fz` , `tki` , `status_lst` , `text` , `timestamp` , `user` )
VALUES (
'69532222', '4-11-12', 'tst112', 2, NULL , '15', NULL , '2009-06-02 01:42:00',
);

MySQL meldet: Dokumentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 5

felix000
02.06.2009, 23:41
Lösch doch erstmal alle nicht benötigten Spalten aus Excel und dann erzeuge eine gscheide CSV-Datei, die du dann auch importieren kannst.

Aber die Fehlermeldung kommt einfach daher, dass nach dem letzen Komma die Klammer zugeht, aber an der Stelle noch ein user erwartet wird...

Infomatrixx
02.06.2009, 23:42
Hallo,

dann melde ich mich doch mal zu Wort!

Der korrekte SQL-Befehl müsste wie folgt lauten:



SQL-Befehl:

--
-- Daten für Tabelle `fms_fz`
--
INSERT INTO `fms_fz`
( `kennung` , `rufname` , `fahrzeug` , `status_fz` , `tki` , `status_lst` , `text` , `timestamp` , `user` )
VALUES
('69532222', '4-11-12', 'tst112', 2, NULL , '15', NULL , '2009-06-02 01:42:00', '');


Hoffe das passt so...

[EDIT] siehe Vorredner :) Der war einfach schneller ...

Gruß

Fabian

Lila-Kuh
03.06.2009, 00:21
da sag ich mal GANZ DICKES DANKESCHÖN.

Hat jetzt entlich geklappt. Schwergeburt ;)

Fehler war das die daten in der Excel datei irgendwie einen fehler hatte.

ordentliche .csv erstellt daten bereinigt und importiert fertig.

nochmals danke und schlaft gut