File in Datenbank speichern mittels C#

C

CSharrp_Hilfe

Gast
Hallo zusammen,

ich versuche gerade eine txt File in eine Datenbank SQL Server zuspeichern und gehe zur Zeit so vor...zur Info: das textFile besteht aus über 24000 Zeilen und in einer Zeile befinden sich 17 Wörter, die durch ein Leerzeichen getrennt sind.

Meine Vorgehensweise:
1: Ich lese jede Zeile aus dem txt File ein und speicher die Strings in einem Array
2: dann öffne ich die DB und speicher die Werte aus dem Array in der Datenbank und schließe die DB wieder
3: dann lese ich die nächste Zeile aus dem txt File ein und speicher die Strings erneut in einem Array....dann wird wieder die Datenbank geöffnet, die Werte gespeichert und die DB geschlossen.

Dieser Ansatz funktioniert auch, jedoch kommt mir das etwas ineffizient vor.
Wäre es besser zuerst das gesamte File einzulesen und die Werte in einer Collection z.B. List zu speichern und dann die DB einmal öffnen und alle Werte auf einmal einzufügen?

Oder welcher Ansatz wäre hier der beste und schnellste...das Speichern dauert jetzt bei über 24000 Zeilen doch etwas.

oder kann ich meinen Ansatz so lassen?

Danke für eure Infos.
 

Tobias

Top Contributor
24.000-mal eine DB-Connection zu öffnen und zu schließen ist vermutlich sehr ineffizient. Ich würde versuchen, da zumindest größere Blöcke, eventuelle auch alle Zeilen auf einmal zu übertragen.
 
W

willIam

Gast
Also ich würde wie folgt vorgehen:

1. TextDatei öffnen
2. DB Connection öffnen
2. TextDatei zeilenweise einlesen
3. Jede Zeile sofort, ohne Zwischenspeicherung in ein Array in die DB schreiben (außer du brauchst die Daten sonst noch)
4. TextDatei schließen
5. DB Connection schließen

Die DB Connection würde ich mit einer eigenen Klasse schreiben, die dann als Singleton-Pattern realisiert ist. Dh. es wird im gesamten Projekt maximal eine Verbindung aufgebaut und geschlossen.

Wünderschön wäre das dann vielleicht noch in einem Thread im Hintergrund.......
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
stg File-Download ohne Speichern einer lokalen Kopie Softwareentwicklung 8
B eclipse - *.class file in Classpath Softwareentwicklung 16
S eclipse 3.4 und C++ cannot open output file .exe: Permission denied Softwareentwicklung 1
N Problemm mit file Softwareentwicklung 2
S File Deltas Softwareentwicklung 5
F Datenspeicherung in Listen statt in einer Datenbank Softwareentwicklung 6
R Datenbank Lizenzen...? Softwareentwicklung 2
J hierarchische Daten in rel. Datenbank Softwareentwicklung 2
R Listen in ner datenbank Softwareentwicklung 2
G Pattern für Datenbank Anwendung Softwareentwicklung 22
B PHP - Datenbank und Umlaute probleme Softwareentwicklung 8
I View Datenbank Softwareentwicklung 6
D Datenbank-Design Softwareentwicklung 3
B PHP Textarea <-> Datenbank Softwareentwicklung 3
K GUI "Inhalte" in einer Datenbank speichern Softwareentwicklung 2
sparrow PHP-Schnittstelle zur Datenbank Softwareentwicklung 13
S Datenbank Projekt Softwareentwicklung 2
F Datenbank mit PHP Softwareentwicklung 4
A Use Case auf Datenbank Softwareentwicklung 6
N Best Practice: Ableitbare Daten berechnen oder speichern? Softwareentwicklung 6
C Datumswerte in Objekte speichern Softwareentwicklung 9
S Daten lokal speichern mit unsigniertem Applet Softwareentwicklung 5

Ähnliche Java Themen

Neue Themen


Oben