INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

große Datenmengen (Array) schnell in SQL schreiben



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

20.01.2026, 13:21
Beitrag #1

logan Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: May 2012

18.0
2012
DE


Deutschland
große Datenmengen (Array) schnell in SQL schreiben
Hallo zusammen,

Nach einer Weg-Kraftmessung habe ich eine große Datenmenge (500.000 Zeilen, 4 Spalten).

Diese speichere ich bisher in eine tdms Datei (sind dann ca. 6MB groß).

Jetzt soll das Ganze in SQL (Microsoft SQL Server Management Studio) abgespeichert werden.

Wenn ich einzelne Zeilen speichere (Insert) dann ist das kein Problem und funktioniert. Dies dauert allerdings viel zu lang. (für 1000 Zeilen ca. 9 sek... ich habe aber 500.000 Zeilen).

Kann mir wer behilflich sein, wie ich das angehe, bzw. mit welchen Bausteinen ich das komplette riesige Array wegspeichern kann (in einem Wisch bzw. in mehreren Paketen).
Habe irgendwas schon von KI gelesen wegen bulk insert. Kam damit aber nicht ganz klar.

LV2018 hätte ich.

Danke

VG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.01.2026, 11:50
Beitrag #2

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 240
Registriert seit: Jul 2011

2025
2011
EN

70***
Deutschland
RE: große Datenmengen (Array) schnell in SQL schreiben
Hallo logan,

Ich habe mal getestet bei uns lese ich zwar nur, aber ich komme mit dem Befehl
SELECT * FROM tbl_Kalibrierung WHERE Prüfer = ('Ich')
auf ca 6000 Werte in 210ms.
Das ist ein richtiger SQL Server.

Leider kann ich eine .accdb-Datei aktuell nicht lesen (Access 2016 und LabVIEW 2025 sind inkompatibel), dort merke ich aber mit Access selbst, das die Daten richtig arsch lahm sind und ich für eine Abfrage fast 20s brauche. Wir sind dabei die DB im Hintergrund zu optimieren, aber das könnte evtl auch ein Grund für dein Problem sein.

Ein Bulk schreiben mache ich auch über mehrmaliges aufrufen von:
insert into %s (%s) values (%s)
das erste %s ist der Tabellenname, das erste in (%s) sind die Spaltennamen und am ende die Werte.

Vielleicht hilft dir etwas davon, ich weiß ja nicht wie du das machst
Timo

Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2026, 13:06
Beitrag #3

th13 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 183
Registriert seit: Oct 2013

2020 SP1
2013
EN


Deutschland
RE: große Datenmengen (Array) schnell in SQL schreiben
MS SQL hat einen Bulk Insert, um mehrere Datensätze auf einmal zu importieren:

Code:
BULK INSERT [dbo].[TargetTable]
FROM 'C:\Data\sourcefile.csv'
WITH (
    DATAFILETYPE = 'char',
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n',
    FIRSTROW = 2,
    BATCHSIZE = 5000,
    KEEPIDENTITY,
    KEEPNULLS
);

1) öffne deine TDMS Datei in Excel (TDM Excel Add-In for Microsoft Excel)
2) speichere die Daten als csv-Datei
3) rufe obige SQL-Anweisung im Management Studio auf

Wenn du direkt nach der Messung deine Daten in MS SQL speichern willst:
1) speichere deine Arrays als csv-Datei
2) schicke obige SQL-Anweisung an die Datenbank mit dem Database Connectivity Toolkit

Evtl. unterstützt das Database Connectivity Toolkit ja auch einen Bulk Insert, bei dem du direkt deine Arrays übergeben kann. Aber dazu kenne ich das Tool zu wenig.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2026, 07:22
Beitrag #4

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 451
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: große Datenmengen (Array) schnell in SQL schreiben
Der MS SQL Server ist bei mir nicht dafür bekannt, dass er besonders schnell sei. Eher das Gegenteil. Das macht es
nicht einfacher. Ein Datenbankwechsel könnte hier zusätzlich viel helfen - sofern das eine Option ist.

Wenn du so viele Zeilen in eine Tabelle schreiben willst, dann ist es keine gute Idee, die Zeilen einzeln an die Datenbank
zu übergeben. Die Verwendung von DB Tools Insert Data.vi aus dem NI Databse Toolkit macht es noch schlimmer.

Mit SQL können auch mehrere Zeilen mit einem INSERT Statement in die Datenbank übergeben werden. Siehe hierzu
zum Beispiel https://www.w3schools.com/sql/sql_insert.asp und dort unter der Überschrift "Insert Multiple Rows".
Damit könntest du die 500k Zeilen in größeren Blöcken in die Datenbank schreiben.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  PropertyNode Referenz zu Allen Array Elementen (XML schreiben) TpunktN 9 9.503 12.05.2020 08:08
Letzter Beitrag: TpunktN
  Array in XML schreiben MarcoN 7 11.962 24.02.2020 16:11
Letzter Beitrag: TpunktN
  String Array in bin schreiben und lesen EOF hansi9990 9 11.756 31.08.2016 10:56
Letzter Beitrag: hansi9990
  String lesen, nach vorgaben löschen und in Array schreiben nova.08 6 9.313 18.09.2014 13:31
Letzter Beitrag: GerdW
  Bestimmte Daten aus csv Datei in Array schreiben Serial 23 27.884 26.03.2014 07:22
Letzter Beitrag: Serial
  String lesen und in Array schreiben maxikboy 2 12.701 19.09.2012 09:52
Letzter Beitrag: maxikboy

Who read this thread?
9 User(s) read this thread:
th13, MarcoNe, GerdW, UliB, Y-P, Martin.Henz, cordm, TpunktN, logan

Gehe zu: