Ich versuche, ein SSIS-Paket durch den Datenimport in SQL Server zu erstellen 2012.Import große, flache Datei mit sehr langen String als SSIS-Paket
Die Daten sieht wie folgt aus (dies ist nur 1 Zeile der Daten , entfernt vertrauliche Daten):
35 XXXX.XXXXXXXXXXXXXXXX 2. XXXX. 6. XXXX. 1. 10.NNN 80000000.XXXXXXXXd 1001. 1001. 6.NNNNNNNNNNNNNNNN 0. 0. 17.XXXXXXXX-XXXXXXXXXXX-XXINCMGFO XXXX. 0. 0.00000000000000NN XXXXXXXXXXXXXXXXXXXXXXXXXXXEVITE, INC. XXXXXXXX CA US 5734. 0.0TMP 88 12.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 12.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX -.270000 .00
Jede Zeile dieser flachen Datei und einige können nicht die gleichen Muster teilen Haben Sie ein einzelnes Zitat oder ein Doppelzitat in den Daten. Diese einfachen/doppelten Anführungszeichen sind möglicherweise nicht vollständig, sie sind in den Daten enthalten, da die Daten nicht vollständig bereinigt wurden.
Jede Flat-Datei wird am Ende jedes Monats generiert. Was ich vorhabe ist, ein SSIS-Paket zu erstellen und dann einen Job zu erstellen, um dieses SSIS-Paket aufzurufen, um alle monatlichen Rohdaten automatisch in einer Staging-Tabelle zu speichern. Später werde ich eine gespeicherte Prozedur schreiben, um die Daten in dieser Staging-Tabelle zu bereinigen und die bereinigten Daten in eine andere Tabelle zu verschieben.
Aber meine Frage hier ist über das Erstellen dieses SSIS-Pakets.
Es hielt mir eine Fehlermeldung wie folgt geben: Deshalb
habe ich versucht, die Eigenschaften zu ändern:
ändern String bis 5000 Länge, ich habe auch versucht, 8000, auch nicht
funktionierteWechsel zu Text-Stream, da ich t Hought kann dies längere Zeichenfolge zulassen ..
Sie gaben mir immer noch den gleichen Fehler.
So habe ich eine Lösung here ich vielleicht erraten gefunden es ist, weil meine Daten in einigen Zeilen unvollständig doppelte Anführungszeichen oder Apostroph hat, aber ich kann nicht parametrisierte Abfragen als die Lösung der Fall ist, weil alles in einer Reihe von der flachen Datei wird in 1 Spalte gespeichert werden.
Gibt es also eine Möglichkeit, dieses Problem als SSIS-Paket zu erstellen?
Wie erstellen Sie das Paket? Import Export-Assistent? Erstellen Sie die Staging-Tabelle nicht, während Sie das _package_ erstellen, erstellen Sie es zuvor. Erstellen Sie eine Staging-Tabelle mit * one * 'varchar (8000)' Spalte. Verwenden Sie anschließend SSDT, um ein Paket zum Laden Ihrer Datei in diese Staging-Tabelle zu erstellen. Es scheint, dass Sie ein Problem beim Erstellen der Staging-Tabelle beim Definieren des Pakets haben. Tu es nicht so. Wie auch immer es hilft, wenn Sie genau erklären, wie Sie zu dieser Fehlermeldung –
gut gehen, wenn es wirklich kein Muster wie Anzahl der Spalten oder konsequent abgegrenzten oder qualifizierten Text dann diese Methode nicht funktioniert, müssen Sie die Datei vor dem Importieren zu reinigen. Können Sie beeinflussen, wie Sie den Export erhalten? Wenn das der Fall ist, würde ich Pipe delimited | vorschlagen Denn dann, wenn Textqualifikationskandidaten sind oder du versaust, kannst du trotzdem den Inhalt einbringen und dann aufräumen. Es wird nicht mit Kommas in der Adresse usw. verwechselt werden. Es gibt ein paar mehr Techniken, aber mehr Informationen wie Beispieldateiformate würden benötigt. Ich vermute, dass Ihr MAX-Length-Problem durch Begrenzer/Zeilenbegrenzer verursacht wird. – Matt
Es kann auch sein, dass 'Spaltennamen' beim Importieren der Datei angekreuzt sind und die erste Zeile als Spaltenbezeichner betrachtet wird Information. –