これは、SSISキューブの処理後に表示されるエラーメッセージです。
Errors in the back-end database access module. The size specified for a binding was too small, resulting in one or more column values being truncated.
ただし、どの列バインディングが小さすぎるかはわかりません。
これをデバッグするにはどうすればよいですか?
これは、SSISキューブの処理後に表示されるエラーメッセージです。
Errors in the back-end database access module. The size specified for a binding was too small, resulting in one or more column values being truncated.
ただし、どの列バインディングが小さすぎるかはわかりません。
これをデバッグするにはどうすればよいですか?
このエラーメッセージは私を何時間も夢中にさせてきました。私はすでにどの列がその長さを増やしているかを見つけ、現在正しい長さを示しているソースのデータテーブルを更新しました。しかし、エラーがポップアップし続けました。そのフィールドは、キューブの[ディメンションの使用状況]タブのファクトからディメンションへのリンクで使用されていたことがわかりました。また、ソースを更新しても、そのリンク用に作成されたバインディングは更新されません。修正は、削除して(関係タイプを「関係なし」に変更)、そのリンクを再作成することです。
Upd:その答えはまだ関連しているように思われるので、この問題が発生する可能性のある領域を示すスクリーンショットを追加したいと思いました。何らかの理由でDimension-to-Factリンクに文字列を使用している場合は、サイズの増加の影響を受ける可能性があります。そして、解決策は上で説明されています。これは、ディメンション属性のキー、名前、および値の列に関する問題に追加されます。
ESCは正しいです。CodePlexからBIDSヘルパーをインストールします。ディメンションフォルダを右クリックして、データの不一致チェックを実行します。
これで私の問題は修正されました。
Refresh
代替修正#1-SQL Server 2008 R2(2012では試していませんが、これが機能すると想定しています)。
代替修正#2
<DataSize>100</DataSize>
Escが指摘したように、列サイズの更新は、キューブ自体のディメンションの使用に影響を与える可能性があります。Escが提案するように実行するか、*。cubeファイルを直接編集します-更新された属性と関連するデータサイズ要素を検索します。<DataSize>100</DataSize>
列サイズが変更されたときに両方の修正を試しましたが、どちらも機能します。
私の特定のケースでは、問題はクエリがOracleから読み取っていたためであり、ハードコードされた列の末尾にスペースがありました(私の間違い)。
末尾のスペースを削除しました。適切な方法として、ハードコードされた値を次のようにキャストします。CAST ('MasterSystem' as VarChar2(100)) as SOURCE
これで私の特定の問題は解決しました。
私の場合、問題はライブサーバー上のキューブでの作業でした。ライブでキューブを操作している場合、サーバーに接続すると、このエラーメッセージがポップアップ表示されます。ただし、コンピューターに保存されているソリューションとしてキューブで作業している場合、エラーメッセージは表示されません。したがって、キューブをローカルで操作し、変更を加えてからデプロイします。
同じ問題が発生した場合、Escからの回答も解決策になる可能性があります。原因ははるかに「隠されている」であり、より明白な解決策「更新」と「データ型の不一致チェック」は私の場合は何の役にも立ちません。
この問題を「デバッグ」する適切な方法が見つかりませんでした。
この問題が発生しました。質問は、先頭と末尾のスペースと関数rtrimとltrimを削除することによって決定されました。
同じ問題が発生し、データソースの更新が機能しませんでした。エラーが発生したファクトパーティションのマテリアライズド参照ディメンションがありました。私のDEV環境では、マテリアライズのチェックを外し、エラーなしでパーティションを処理しました。
奇妙なことに、同じ関係でマテリアライゼーションを有効にできるようになりましたが、問題なく処理されます。
最初に試すのは簡単です-私はこれを何年にもわたって何度か経験しました。
他の人が述べているように、末尾にスペースがあるデータも原因になる可能性があります。それらを確認してください:SELECT col FROM tbl WHERE col LIKE '% '