So Lesen Sie eine Textdatei mithilfe von T-SQL?
Was ist der beste Weg, um eine Textdatei zu Lesen mithilfe von T-SQL? Ich habe gesehen, die BULK INSERT und viele verschiedene Funktionen, die jedoch nicht von Ihnen sind, was ich Suche.
Muss ich Lesen, jede Zeile in der text-Datei und fügen Sie ihn in eine Tabelle mit einigen anderen Informationen wie dem Dateinamen, filelocation, status, Eintrag Datum & Zeit erstellt, etc.
BULK INSERT nicht erlauben, mich zu fügen Sie zusätzliche Feld, es sei denn, ich bin fehlt etwas auf dieser.
Jede Hilfe oder Hinweis auf die richtige Richtung sein wird, wirklich zu schätzen.
- Wahrscheinlich konnte das Massenkopieren in eine Tabelle einfügen-variable und führen Sie dann einen anderen insert-Verbindung mit den Daten, die Sie hinzufügen möchten
- Das klingt wie eine gute Idee, aber ich würde es vorziehen, wenn ich dies tun könnte, ohne Umweg über eine andere Tabelle.
- Ich werde einfach zu formulieren, wie es in einer Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte Sie wahrscheinlich bulk-insert in eine temporäre Tabelle und dann das andere tun legen Sie sich mit mit den Daten, die Sie hinzufügen möchten. Hier ist ein Beispiel
Tut dies nicht tun, was Sie möchten?
Verwende ich eine sehr einfache CLR-Prozedur liest die gesamte Datei ein und trennt die Zeilen in Zeilen -- Rückgabe eines einer Spalte der Tabelle von Werten. Wie ich schon sagte, die von CLR-code ist sehr einfach:
Beispiele
Mehr Details
Kompilieren Sie die CLR DLL wie diese:
Registrieren Sie die CLR DLL wie diese:
Wenn Sie eine Fehlermeldung erhalten, die Sie benötigen, um die CLR-Unterstützung in der db:
Wenn Sie die DLL, die Sie haben, um die drop-Verfahren und die Montage und führen Sie den code von oben nochmal neu registrieren.
Können Sie
Integration Services
(SSIS)Link : http://msdn.microsoft.com/en-us/library/ms141026.aspx
Link : http://technet.microsoft.com/en-us/library/ms169917%28v=sql.105%29.aspx
Wenn der OLE-Automatisierung ist in SQL Server aktiviert (und das ist ein großes wenn, wie viele Seiten zu deaktivieren, ist es aus Gründen der Sicherheit), erstellen Sie eine Instanz der Scripting
FileSystemObject
mit sp_OACreate und Verwandte Funktionen.Diese kann getan werden, mit
FORMATFILE
.Bei der Verwendung von format-Datei, können Sie überspringen die Spalten. es gibt viele weitere Vorteile der Verwendung von format-Datei.Folgenden Abfrage wird die bulk-laden der Linien in Feld
Line
.Format-Datei verwendet, in der obigen Abfrage ist :