Ich versuche, einen regelmäßigen Import einer Excel-Tabelle einzurichten, die wir von einem Anbieter erhalten. Ich verwende SQL 2008 R2 SSIS, um es in eine Tabelle zu importieren. Der Problemverbindungsmanager ist eine OLE DB-Verbindung zur Tabelle. Die Tabelle ist Excel 2005. Der Datenbankverbindungsmanager verwendet Native OLE DB \ SQL Native Client.
Das Problem, das ich bekomme, ist, dass die OLE DB-Quelle immer wieder einige der Excel-Spalten DT_WSTR
mit einer 255
Länge festlegt . Ich habe jedoch 2 Spalten mit 4000 bzw. 8000 Zeichen. Ich habe die Registerkarte Advanced Editor
/ Input and Output Properties
für die OLE DB-Quelle aufgerufen und den Datentyp / die Länge in der External Columns
Liste und der Output Columns
Liste geändert . Leider erscheint beim Verlassen Advanced Editor
ein Fehler in der Fehlerliste.
Validation error. Data Flow Task: Data Flow Task: The output column "ColumnName" (226)
on the error output has properties that do not match the properties of its
corresponding data source column.
Wenn ich erneut auf die Quelle klicke, erhalte ich die Option, die Fehler automatisch zu "beheben". Ich wähle dann "Ja" und "OK". Der Fehler ist jetzt weg, aber wenn ich zurück zum External Columns
Datentyp / zur Länge gehe, sind die Einstellungen wieder auf dem Original DT_WSTR/255
.
Ich könnte die Tabelle manuell in eine begrenzte Datei ändern, um das Problem zu vermeiden, würde aber lieber keinen manuellen Schritt in den Prozess einfügen. Kennt jemand eine Möglichkeit, eine Excel-Quelle zu erhalten, die eine lange Spalte zulässt?
DT_WSTR
zu zu wechseln , DT_STR
aber derzeit kann ich für diese Zeilen nicht so weit kommen.