Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi CSV Importieren in DB (https://www.delphipraxis.net/158675-csv-importieren-db.html)

API 26. Feb 2011 09:16

Datenbank: SQL Server • Version: 2008 • Zugriff über: ?

CSV Importieren in DB
 
Hallo

Ich suche eine einfache Möglichkeit, in eine bestehende SQL Tabelle eine CSV Datei via ein Delphi GUI zu importieren.

Der SQL Code würde etwa so aussehen:

Code:
BULK
INSERT CSVTest
FROM 'c:\csvtest.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
Wie würde eine Delphi-Umsetzung aussehen? Welche Komponenten empfehlt ihr (am liebsten keine Fremdkomponenten). Ansätze oder Beispiele sind willkommen.

jobo 26. Feb 2011 09:24

AW: CSV Importieren in DB
 
Hast Du schon mal hier geschaut?
http://www.delphipraxis.net/dp_searc...s=CSV%20Import

Welche SQL DB? Sieht nach MS SQL aus.
Soll das serverseitig oder clientseitig stattfinden?

API 26. Feb 2011 09:31

AW: CSV Importieren in DB
 
Ds handelt sich um eine MS SQL DB (Microsoft SQL Server 2008 R2)
Der Upload soll Clientseitig stattfinden.

Habe schon etwas im Forum gesucht, doch bin mir nicht sicher, ob es z.B. mit TJvCsvDataSet geht?

Edit: Oder geht das mit TADOCommand?

Sir Rufo 26. Feb 2011 10:45

AW: CSV Importieren in DB
 
Da der MSSQL kein Bulk Insert unterstützt, wo der Server die Datei nicht selber erreichen kann (MySQL kann das durchaus) muss die Datei als zunächst zum Server transportiert werden (FTP?)

Ansonsten eben die CSV-Datei per ADO öffnen und dann die einzelnen Datensätze in die Tabelle schreiben.

Beispiele um eine CSV-Datei mit ADO zu öffnen findest du hier im Forum über die SuFu

API 26. Feb 2011 10:55

AW: CSV Importieren in DB
 
Der Server kann auf die Datei zugreifen, habe jedoch noch keine Beispiele dafür gefunden...

Sir Rufo 26. Feb 2011 11:02

AW: CSV Importieren in DB
 
Zitat:

Zitat von API (Beitrag 1084512)
Der Server kann auf die Datei zugreifen, habe jedoch noch keine Beispiele dafür gefunden...

:wiejetzt:
ADOConnection mit dem Server verbinden und dann den SQL Befehl schicken.
Ein Einzeiler ... oder was ist das Problem?

alzaimar 26. Feb 2011 12:29

AW: CSV Importieren in DB
 
Zitat:

Zitat von Sir Rufo (Beitrag 1084513)
Ein Einzeiler ...

Falsch! :warn:
Zwei!:stupid:

Delphi-Quellcode:
ADOConnection.Connected := True; // ADOConnection mit dem Server verbinden ...
ADOConnection.Execute (TheScript); // ... und dann den SQL Befehl schicken.

Sir Rufo 26. Feb 2011 19:16

AW: CSV Importieren in DB
 
Zitat:

Zitat von alzaimar (Beitrag 1084517)
Zitat:

Zitat von Sir Rufo (Beitrag 1084513)
Ein Einzeiler ...

Falsch! :warn:
Zwei!:stupid:

Delphi-Quellcode:
ADOConnection.Connected := True; // ADOConnection mit dem Server verbinden ...
ADOConnection.Execute (TheScript); // ... und dann den SQL Befehl schicken.

Was kann ich dafür, dass du es nicht schaffst im OI eine Checkbox anzuklicken :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz