die Situation ist folgende:Wie Bulk-Einsatz mit einem dynamischen Wert für eine Spalte
Ich habe 200 txt-Dateien mit unterschiedlichen Namen wie 601776.txt Namen jeder Datei ist eigentlich ein ID_foo und es enthält einige Daten wie diese (2 Spalten):
04004 Albánchez
04006 Albox
04008 Alcóntar
04009 Alcudia de Monteagud
.
.
.
jetzt will ich Bulk diese tXT-Dateien in einer SQL Server-Tabelle, die drei Spalte eine dieser Spalten hat, sollte der Name der txt-Datei sein. Ich benutze ein PHP-Skript, also habe ich eine Schleife gemacht, um die Dateinamen zu bekommen und was dann?
BULK INSERT Employee_Table
FROM '../home/601776.txt'
WITH (
FIELDTERMINATOR ='\t',
ROWTERMINATOR = ''\n''
)
Wie kann ich die dritte Spalte beim Bulk-Einfügen mit $ file_name Variable in jeder Schleife festlegen?
Denken Sie, es ist eine bessere Idee, wenn es möglich ist, die Tabelle durch Lesen der TXT-Datei Zeile für Zeile einfügen? Und wie?
Dank
Wenn ich so etwas in C# getan habe, habe ich eine Methode geschrieben, um in die Datei zu gehen und die Daten, die ich brauche, in die CSV hinzuzufügen. Die Bulk_Insert (soweit ich weiß, bitte korrigieren Sie mich, wenn ich falsch liege) ist ziemlich dumm, in dem es nur die Datei und fügt ein, Sie können nicht wirklich einmischen. Also, um Ärger zu sparen, bekomme ich die Datei, wie ich es brauche, bevor ich die Massen einfüge. – Leonidas199x
@ Leonidas199x das ist eine gute Option zu, aber ich möchte wissen, gibt es eine Möglichkeit, direkt zu verwenden BULK INSERT –
, so dass Sie eine 3. Spalte mit dem Dateinamen haben möchten und die Massen einfügen auf 'n' Anzahl der Dateien ... im Grunde alle von ihnen in einem Verzeichnis ich vermute? – scsimon