1

データベースからインライン SQL クエリを実行し、内容をテキスト ファイルに出力する SSIS パッケージを作成しました。もともとテキストファイルはカンマ区切りでしたが、エラーをさらに調査した後、パイプ区切りに変更しました。また、FirstName フィールドの部分文字列を作成し、SSIS プレースホルダー フィールドの長さが一致するようにしました。エラーメッセージは次のとおりです。

[Customers Flat File [196]] Error: Data conversion failed. The data conversion for   
column "FirstName" returned status value 4 and status text "Text was truncated or one or more 
characters had no match in the target code page.".

OLE DB ソースで使用している SQL ステートメントは次のとおりです。

SELECT     
dbo.Customer.Email, SUBSTRING(dbo.Customer.FirstName, 1, 100) AS FirstName, 
dbo.Customer.LastName, dbo.Customer.Gender, 
dbo.Customer.DateOfBirth, dbo.Address.Zip, dbo.Customer.CustomerID, dbo.Customer.IsRegistered
FROM         
dbo.Customer INNER JOIN
dbo.Address ON dbo.Customer.CustomerID = dbo.Address.CustomerID

パッケージがエラーなしで実行されるようにするには、他にどのような修正を行う必要がありますか?

4

1 に答える 1

1

このクエリを SSMS で実行しようとしましたか? もしそうなら、あなたは成功した結果を得ましたか?まだ試していない場合は、このクエリを新しい SSMS ウィンドウに貼り付けて、完了するまで待ちます。クエリが完了する場合、クエリに問題はありません。パッケージ内で何かがずれている可能性があります。

ただし、クエリが完了せずに失敗した場合は、どこを見ればよいかがわかります。

編集

よく考えてみると、お客様のソースはフラット ファイルか何かですか? Customer テーブル/ファイルに、ソースの出力メタデータと一致しない値があるようです。ソースをもう一度確認してください。

于 2012-12-07T21:53:22.757 に答える