1

したがって、次のコードを使用して日付をMMDDYYYYに変換しています。

replace(convert(varchar(10), Absent_Date, 101), '/', '') as Absent_Date

Navicatで実行すると正常に実行されますが、SSISを使用してストアドプロシージャからフラットファイルにエクスポートすると、次のエラーメッセージが表示されます。

ここに画像の説明を入力してください

ここや他のフォーラムサイトから約20の異なる投稿を読みましたが、自分にぴったりの投稿は見つかりませんでした。データ変換オブジェクトを使用しようとしましたが、機能させるのに問題がありました。正直なところ、SSISでフラットファイルにエクスポートできる限り、どの形式でもかまいません。同じ形式である必要がある日付を含む約20のテキストファイルがあります。どんな助けでも大歓迎です!

私はSQLServer2008R2を使用しています

4

1 に答える 1

2

キャプチャしたエラーに基づいて、ソース(OLE、ADOなど)から出力されるメタデータは、列Absent_DateがDT_NTEXTであることを示していると思います。解決策は、それを「機能する」ものに変換することです。私は通常、2つのデータ変換タスクNTEXTをTEXTに適用してから、そのTEXTを文字列型にします。データがUnicodeの場合、それはNTEXTからWSTRへの変換になりますが、私はばかげたアメリカ人です。

ここで、OLEDBソースからの出力のメタデータがAbsent_DateがNTEXTであることを示していることがわかります。最後のステップ(ビットバケット)には、長さ10の新しい列STR_Absent_Date、データ型DT_STR(コードページ1252)が表示されます。

ここに画像の説明を入力してください

このアプローチを採用すると、NTEXTデータをフラットファイルの宛先と互換性のあるものに変換できるはずです。

于 2012-06-21T22:33:07.090 に答える