Einfügen von text in TEXT-Spalte aus einer Datei
Was ist der einfachste Weg - vorzugsweise nur mit SQL Server Management Studio - einfügen von text in ein Text
- Typ-Spalte (text, ntext, varchar(max), nvarchar(max)
) aus einer Datei.
Sagen habe eine Tabelle
textFileContent(id, textData)
möchten und
insert into textFileContent(textData)
values([data read from a file, complete file content])
Außerdem ist es möglich, zu aktualisieren, die in einer ähnlichen Art und Weise? E. g.
update textFileContent
set textData = [data read from a file, complete file content]
where id = 1
- die Verwendung von SSIS/DTS statt?
- TEXT -, NTEXT -, IMAGE -, sind nicht als der SQL Server 2005 - sollten Sie vermeiden, mit Ihnen, wenn immer möglich (vor allem, wenn Sie etwas neues erstellen).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie xp_cmdshell:
Dieser dump sollte der text in der Tabelle, wo schwer zurück stellen neue Rekorde.
Ansonsten, wenn du SQL Express Sie sind beschränkt auf die BCP und BULK INSERT. Es gibt Befehle, die in der BCP-wenn Sie erstellen Sie Ihre Tabelle zu erstellen Sie Ihre Datei im format. Denken Sie daran, wenn es Unicode ist, dass Sie Ihre Trennzeichen aus zwei Zeichen
\n\0\r\0
(oder so ähnlich)Sonst könnten Sie mit dem SSIS-wenn Sie SQL-Standard oder höher. Erstellen Sie ein Datenfluss-drop ein Symbol für die Eingabe von text-Datei, legen Sie ein Symbol für die Zieltabelle aus, und klicken Sie auf Wiedergabe. Um diese Arbeit mit SQL, müssen Sie rufen Sie es mit so etwas wie, dass xp_cmdshell oben. SSIS ist das visuelle, was Sie tun würden, mit dem BCP-so weit als text-Dateien betroffen sind.
Hängt die Antwort ein bisschen auf Ihren Einsatz. Ich vermute, benötigen Sie zum laden von Daten in die zu Beginn eines Projekts... wenn Sie brauchen, um "Futter" der Daten zum SQL-server dann hätte ich eine andere Antwort.
Hier sind die einfachsten Möglichkeiten:
Formatieren Sie Ihre text-Datei, so ist es eine sql-Anweisung. wenn du z.B. eine Linie der text, den Sie einfügen möchten, in eine Tabelle genannten Namen könnte man
insert into names value('
am Anfang jeder Zeile und')
am Ende. Dann kopieren und Vergangenheit, die in-manager, und führen Sie es.Verwendung von bulk insert (link)
verwenden SSIS/DTS (link)
Können Sie importieren von Daten aus einer Textdatei mithilfe von OPENROWSET. Aber für diese müssen Sie möglicherweise definieren Sie eine format-Datei als auch. Sie finden weitere Hilfe hier