LabVIEWForum.de
1D Array in Datenbank speichern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: 1D Array in Datenbank speichern (/Thread-1D-Array-in-Datenbank-speichern)



1D Array in Datenbank speichern - mrstrom - 23.02.2012 14:14

Hallo LV Forum,

ich möchte ein Array mit double Werten in eine sql Datenbank speichern. Das DB Connectivity Toolkid besitze ich ebenfalls. Das Problem ist nun, dass das "Insert in DB" VI nur einzelne Werte oder Cluster einliest. Zunächst habe ich für jeden Wert des Array das "Insert in DB" VI einzeln aufgerufen, das dauert bei einem großen Array aber viel zu lange. Kann ich nicht das gesamte Array auf einmal in die Datenbank speichern?

Viele Grüße
mrstrom


RE: 1D Array in Datenbank speichern - BNT - 23.02.2012 14:22

Hi
Probier es doch einmal mit einem Prepared-SQL-Statement. Damit wird das SQL-Statement mit Parmateren erstellt. Die Array-Elemente kannst Du dann in einer Schleife in die DB schreiben. Das sollte vierl schneller gehen.

Die Alternative ist ein Typecast in einen String und diesen auf einen Schlag als BLOB in die DB speichern. Die enzelnen Array-Element sind dann aber nicht mehr als solche in der DB zu sehen.

Gruß Holger


RE: 1D Array in Datenbank speichern - jg - 23.02.2012 14:30

Sind die Elemente deines Array verschieden Spalten innerhalb einer Zeile in der Tabelle der Datenbank, oder schreibst du immer wieder einen neuen Wert in eine neue Zeile?

Im ersten Fall: Array in Cluster umwandeln und mit dem "Insert in DB" schreiben.

Im zweiten Fall: Die SQL-Syntax erlaubt auch SQL-Befehle der Art INSERT into Table (spalte1) VALUES (1),(2),(3),...
Das müsste du dann über ein EXECUTE-QUERY VI ausführen.

Gruß, Jens