2017-02-24 3 views
0

Ich habe ein SSIS-Paket, das Daten von einer Excel-Quelle in eine SQL Server-Datenbank importiert. Die Datei hat eine Spalte mit dem Namen , die normalerweise ein gültiges Datum ist. Ich sage normalerweise, weil die Daten von den Agenten unseres Kunden eingegeben werden und alles von 02/24/2017 bis Feb 17 oder sogar nur 2017 sein können. Ich brauche diese Daten tatsächlich als String, weil wir einen Teilvergleich zu diesen Daten machen, also sind Daten, die als Feb 2017 kommen, immer noch technisch in Ordnung.SSIS Excel Source lässt mich DT_DATE nicht in DT_WSTR ändern

Das Problem ist, dass SSIS automatisch feststellt, dass diese Spalte vom Typ [DT_DATE] ist. Ich versuche, den DataType zu [DT_WSTR] im Abschnitt Externe Spalten des Erweiterten Editors für die Quelle zu ändern, aber wenn ich auf OK klicke, schaltet SSIS es automatisch zurück auf [DT_DATE]. Wie bekomme ich SSIS, um diese Spalte als String zu importieren?

Es sollte auch angemerkt werden, dass dies ein automatischer Prozess ist, so dass ich keine Änderungen an der Excel-Datei selbst vornehmen kann, da sie jede Woche durch eine neue Datei ersetzt wird.

+0

Sie können Transformationskomponente nach der Quelle eines Datenkonvertierung platzieren und es verwenden, die [Client Date Of zu konvertieren Geburt] zu Zeichenfolge [DT_STR]. – MayowaO

+0

Wenn MÖGLICH (ich weiß es meistens nicht), konvertieren Sie diese Spalte in Excel in Text. –

Antwort

0

Es gibt viele Möglichkeiten, dies zu erreichen:

Erster Weg

  • eine Skriptkomponente
  • Mark [Client Date Of Birth] als Eingabespalte
  • eine Ausgabespalte [StrDOB] mit Datentyp gleich Erstelle [DT_STR]
  • In der Skript schreiben Sie den folgenden Code (i angenommen, dass Sie das Datumsformat yyyy-MM-dd HH:mm:ss wollen):

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) 
    
        If Not Row.ClientDateOfBirth_IsNull Then 
          Row.strDOB = Row.ClientDateOfBirth.ToString("yyyy-MM-dd HH:mm:ss") 
         Else 
          Row.strDOB_IsNull = True 
        End If 
    
    End Sub 
    

Second Way

Verwenden Sie eine Datenkonvertierung Transformation Komponenten dieses Ziel zu erreichen. Folgen Sie einfach den folgenden Links auf MSDN-Hilfe zu bekommen:

Verwandte Themen