3

次の形式で年と月を含む列を持つフラット ファイルからの読み取り --> "201212"。

これを DATETIME2 列に挿入する必要がありますが、最初に「/」で解析し、日として「01」を追加する必要があります。201212 が 2012/12/01 になるように

派生列変換での式は次のようになります。

(DT_DBTIMESTAMP2,0)((DT_WSTR,4)SUBSTRING(RptMthDTM,1,4) + "/" + (DT_WSTR,2)SUBSTRING(RptMthDTM,5,2) + "/" + "01")

これは機能するはずで、SSIS はこれを受け入れます (式を解析できるため) が、パッケージを実行すると、「型キャストの実行中にエラーが発生しました」というまったく役に立たないエラーがスローされます。エラーが発生した列とともに。

私はこのパッケージをビルドしていません。

事前にインターウェブファミリーに感謝します。

4

1 に答える 1

2

DT_DBTIMESTAMP2 は、特定の文字列形式からのみ変換できます。yyyy-mm-dd hh:mm:ss[.fffffff]

代わりに次の式を使用できます。

(DT_DBTIMESTAMP2,0)((DT_WSTR,4)SUBSTRING(RptMthDTM,1,4) + "-" + (DT_WSTR,2)SUBSTRING(RptMthDTM,5,2) + "-" + "01 00:00:00")

詳細: [http://msdn.microsoft.com/en-us/library/ms141036.aspx][1]

于 2012-12-06T21:46:04.883 に答える