LabVIEWForum.de - Daten in einem Access Datenbank schreiben

LabVIEWForum.de

Normale Version: Daten in einem Access Datenbank schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,


ich versuche gemessenen Daten in einem Access Datenbank zu schreiben, da kriege ich immer einen Fehlermeldung:

Error -2147217900 occurred at NI_Database_API.lvlib:Conn Execute.vi->DBMeasure.lvlib:WriteDBaseMeasure.vi

Possible reason(s):
ADO Error: 0x80040E14
Exception occured in Microsoft Access Database Engine: Syntaxfehler in der INSERT INTO-Anweisung


Wenn ich in Debug Modus bin und der SQL Anweisung nehme und in Access ausführe, dann wird korrekt ausgeführt.

Hier der SQl Anweisung:
INSERT INTO tblBadMeasureData (SerialNrIDRef, IsCalibrated, DCA, DCB, T1, T2, T3, T4, PWZ, Phase, Direction, Current, Voltage, Speed, PE, WE, A0, A1, A2, A3, A4, A5, A6, A7, Datum, Uhrzeit, Error)
VALUES('ED000001874','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'​,'0','0','0','0','0','0','0','0','27.04.2017','08:45','serswreewrewr')


Anbei einen screenshot von der Anwendung.


Danke in voraus
Hallo galilio,
wenn du die Errorleitung vom Datenbank auf an die Datenbank schreiben hängst geht es.
Jetzt wird nicht sicher zuerst die Datenbank geöffnet und dann geschrieben.

Vergiss meine Aussage, die ist falsch.

Gruß
Freddy
Hallo galilio,
Datum muss '#01/02/2017#' geschrieben werden.

Gruß
Freddy
(27.04.2017 10:59 )Freddy schrieb: [ -> ]Datum muss '#01/02/2017#' geschrieben werden.
eigentlich muss eine Datum nicht unbedingt in dieses Format formatiert werden, weil es sons der vorherige Query kann es nicht in Access funktionieren

Der Anhang ist eigentlich nur einen Testversuch. Damit möchte ich nur wissen, ob es überhaupt mit der Database funktioniert aber der richtige Implementiereung ist in einen grossen Projekt.
Sind alle Felder CHAR - Felder?
Und stimmt die Länge der Felder mit der Übergabe überein?

Gruß
Freddy
Den Fehlercode kannst Du Dir sparen.
Im Fehlerfall wird die Error-Leitung das Schreiben verhindern.
Gruß
Freddy
(27.04.2017 12:12 )Freddy schrieb: [ -> ]Sind alle Felder CHAR - Felder?
Ja
(27.04.2017 12:12 )Freddy schrieb: [ -> ]Und stimmt die Länge der Felder mit der Übergabe überein?
Ja

(27.04.2017 12:12 )Freddy schrieb: [ -> ]Den Fehlercode kannst Du Dir sparen.
Im Fehlerfall wird die Error-Leitung das Schreiben verhindern.
Ja das stimmt
Fehlt da am Ende ein Semikolon ?

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
@Jaein

Mit oder Ohne funktioniert eigentlich aber das ist nicht das Problem.


Problem ist, dass Current einen schlüsselwort in LabVIEW. Also ich darf es hier nicht benutzen
Warum ist es so: weiss ich nicht aber das ist das Problem.
(27.04.2017 13:59 )galilio schrieb: [ -> ]Problem ist, dass Current einen schlüsselwort in LabVIEW. Also ich darf es hier nicht benutzen
Warum ist es so: weiss ich nicht aber das ist das Problem.
Deine Vermutung ist falsch. LabVIEW hat damit nichts zu tun, sondern T-SQL. Current ist ein reserviertes Keyword und darf deshalb bei Spaltennamen (o.ä.) nur mit "Maskierung" verwendet werden.

Schreib Current in eckige Klammern (vielleicht auch doppelte Anführungsstriche), und es sollte funktionieren.

Gruß, Jens
Current habe ich so geschrieben:
"[Current]" -->bekomme immer eine Fehlermeldung
Nicht beides, entweder [Current] (falls sich ACCESS an die Syntax eine MS SQL Server hält) ODER "Current" (so sollte es laut T-SQL eigentlich gehen).

Gruß, Jens
Seiten: 1 2
Referenz-URLs