ssis
でExcelからデータを抽出しています。 Excel列の1つにblank
値が含まれています。したがって、blank
の値をnullに置き換える必要があります。そうしないと、パッケージが失敗します。何か提案はありますか?
また、ソースと宛先の両方の接続でNull値を保持するオプションをチェックすることもできます(利用可能な場合)
DataFlowでは、DerivedColumnコンポーネントを使用します。
列を置き換えて、式にこのコード行を入れます
ColumnName == "" ? NULL(DT_WSTR,50) : ColumnName
列が空の場合は必ずnullを返します
以下のようなものを試しましたか?
LEN(TRIM([ColumnName]))==0 ? NULL(DT_WSTR, 10) : [ColumnName]
上記の問題の修正:::::
送信元と宛先は、null値を許可するオプションでチェックする必要があり、機能します。
日付列の文字列をNULLに置き換えたい類似のインスタンスがあり、次のコードを使用しました。
LEN(your_data)<2? NULL(DT_WSTR、50):your_data
この場合、文字列の長さは1のみでした。その後、データ変換変換を使用して、dt_dbtimestamp型に取得しました。
お役に立てば幸いです!
Derived Columnコンポーネントと条件式を使用する必要があります。これは条件付きステートメントであるため、ブール型の結果を作成するにはデータ型が同じである必要があります。
これを使ってみてください:
ColumnName == (DT_DATE)"" ? NULL(DT_DATE) : ColumnName