質問

だから私はSSISで一括挿入を行うと、継続的に取得しようとしています:

の "Microsoft SQLネイティブクライアント" HRESULT:0x80004005の説明: "文字列またはバイナリデータが切り捨てられる"

私はすでに行が挿入取得していることの表とまったく同じタイプにすべての列のデータ変換を持っているにもかかわらず。私は、ビューを使用し、データは、それがちょうどDB挿入工程の前になってのように見えます。それでもエラーを取得します。

次の私は、のろわれたテーブルにSQL Serverの管理スタジオとセットアップにINSERTクエリを行って、まだ同じ切り捨てエラーが発生します。私はその後、セットANSI_WARNINGS OFFを行なったし、挿入は、データが表によさそうだ作品。私はこの行を削除しようとすると、今私は切り捨てエラーを取得します。

の状況に任意の基本的な入力のほかに私の質問は、バルク・ロードがが行くことができるように、私はSSIS内のANSI_WARNINGSをオフにすることができますどのように?

役に立ちましたか?

解決 4

SSISにあなたがして、セットアップOLE DB先をできることが判明し、「データアクセスモード>表またはビュー:高速モード」。私が選んだときは、この設定を一括挿入は、警告やエラーなしで通過したとのデータがデータベースに完璧に見えます。この変更は、正確にやったが、それは働いて、1つのSSIS挿入の16hours後、私は結果に満足しているかわからない。

の提案をお寄せいただきありがとうございます。

他のヒント

あなたが提出されたデータを受け入れることが狭すぎる列を持っているように、

これが鳴ります。

これはあるかそうでない場合は、確認することができますか?

私たちは、第三者でスキーマを下に釘している間に非常に類似した問題が頻繁に発生していた。

あなたはビューの列のすべてのLENを選択することはできますか?それは、問題を見つけることができます。

それ以外は、私が見つけた唯一の方法は、ソースデータの列の実際の長さの報告書をプリントアウトすることです。

あなたが1行を持っているように、

は、サウンド(おそらくより、それは一つだけを取る!)あなたのデータ値は、表の列の長さを超える場合。短いタイプへのデータ変換を行うと、送信先からの変換を行いますどんな変換にエラーを移動します。私がお勧めすることはフラット・ファイルの出力先を作成し、そこにあなたの変換のエラー出力を結ぶれます。 「リダイレクト行」にエラー結果を変更します。これは、すべての有効な行が通過し、手動で処理するためにのために切り捨てなっている行(複数可)のコピーをご提供できるようになります。

あなたがに挿入しているテーブルの上にあっトリガーされていますか?その後、エラーがトリガが実行するアクションから来るかもしれない。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top