31

でExcelからデータを抽出していssisます。Excel 列の 1 つにblank値が含まれています。したがって、値を null に置き換える必要がありblankます。そうしないと、パッケージが失敗します。提案はありますか?

4

6 に答える 6

57

DataFlow では DerivedColumn コンポーネントを使用します。

列を置き換え、式にこのコード行を入れます

ColumnName == "" ? NULL(DT_WSTR,50) : ColumnName

列が空の場合は必ず null を返します

于 2012-10-24T16:37:27.863 に答える
23

ソース接続と宛先接続の両方で Null 値を保持するオプションをチェックすることもできます (利用可能な場合)。

于 2012-10-31T11:23:09.303 に答える
11

次のようなことを試しましたか(データ型がstring/varcharであると仮定して):

LEN(TRIM([ColumnName]))==0 ? NULL(DT_WSTR, 10) : [ColumnName] 
于 2012-10-24T16:34:57.340 に答える
2

上記の問題を修正 :::::

送信元と送信先は、null 値を許可するオプションでチェックする必要があり、動作します。

于 2015-03-27T10:55:06.720 に答える
1

日付列の文字列を NULL に置き換えたい同様のインスタンスがあり、次のコードを使用しました。

LEN(あなたのデータ) < 2 ? NULL(DT_WSTR,50) : あなたのデータ

この場合、文字列の長さは 1 しかありません。次に、データ変換変換を使用して dt_dbtimestamp 型に取得しました。

それが役立つことを願っています!

于 2013-08-07T20:04:10.113 に答える